一道C#面试题解决方案
一道C#面试题
今天去一家公司面试,有这么一道题目:不用循环,如何判断字符串A=“1,2,34,5”中是否包含字符‘2’(A之间用逗号分开)。想来想去不知道怎么写,求大神指点!!
------解决方案--------------------
方法体部分:
写的很简陋,感觉本质上和循环了没区别- -
------解决方案--------------------
split(',').Contains
Contains,IndexOf
Regex.IsMatch
递归
------解决方案--------------------
string s = "1,2,34,5";
bool result = s.Split(',').Contains("2");
------解决方案--------------------
bool t=Regex.IsMatch("字符串",@"(?<=\D
------解决方案--------------------
^)2(?=[,,]
------解决方案--------------------
$)");
今天去一家公司面试,有这么一道题目:不用循环,如何判断字符串A=“1,2,34,5”中是否包含字符‘2’(A之间用逗号分开)。想来想去不知道怎么写,求大神指点!!
------解决方案--------------------
string test = "1,2,34,5";
int i = 0;
Console.WriteLine(IsContains(test.Split(','), i));
Console.Read();
方法体部分:
public static bool IsContains(string[] arr, int i)
{
if (i == arr.Length)
{
return false;
}
i++;
if (arr[i - 1].Contains("p"))
{
return true;
}
else
{
return IsContains(arr, i);
}
}
写的很简陋,感觉本质上和循环了没区别- -
------解决方案--------------------
split(',').Contains
Contains,IndexOf
Regex.IsMatch
递归
------解决方案--------------------
string s = "1,2,34,5";
bool result = s.Split(',').Contains("2");
------解决方案--------------------
bool t=Regex.IsMatch("字符串",@"(?<=\D
------解决方案--------------------
^)2(?=[,,]
------解决方案--------------------
$)");