C#判断字符串中是否包含指定字符串

今天QQ有人问这样一个问题:数据中有“1,2,3,4,5,6”,我想在程序中判断数据是否包含有 3, 这个值

对于这种问题第一反应就是用IndexOf解决

  string a = "1,2,3,4,5,6";
  if(a.IndexOf(“3,")>-1)
  {
   //字符串A中包含字符串B
  }

但后来想想,出于性能和判断的准确性来考虑,改用Contains会比较好

  string a = "1,2,3,4,5,6";
  if(a.Contains(“3,"))
  {
   //字符串A中包含字符串B
  }

关于IndexOf和Contains性能对比的讨论:http://www.cnblogs.com/uonun/articles/1698974.html

以上只是纯粹针对字符串的解法,但按照提问人的思路,按照面向对象的理念,比较正统的写法应该是

  string a = "1,2,3,4,5,6";
  List<string> oTempList = new List<string>(a.Split(','}));
  if(oTempList.Contains(“3"))
  {
   //字符串数据A中包含字符串元素B
  }