我正在尝试在数组中选择一个与字符串中的内容匹配的元素。
例如:
string[] splitChar = new string[] { "+=", "-=" };
string content = "5+=2";
所以我想检查内容是否包含来自splitChar
的内容,如果是,则选择该值,以便将其分配给字符串变量。
答案 0 :(得分:1)
您是否尝试使用以下FirstOrDefault
进行检查?
string[] splitChar = new string[] { "+=", "-=" };
string content = "5+=2";
var stringPresent = splitChar.FirstOrDefault(x=>content.Contains(x));
if(String.IsNullOrEmpty(stringPresent))
Console.WriteLine("Not found");
else
Console.WriteLine(stringPresent);
选中此Example
答案 1 :(得分:1)
Lambdas和LINQ对此有点矫枉过正。你可以做一个简单的foreach
:
string match = "";
foreach (var str in splitChar)
{
if (content.Contains(str))
{
match = str;
break;
}
}
if (!String.IsNullOrEmpty(match))
{
// Do whatever with `match`
}
如果您真的想使用LINQ,FirstOrDefault
将是您最好的选择:
string match = splitChar.FirstOrDefault(s => content.Contains(s));
if (!String.IsNullOrEmpty(match))
{
// Do whatever with `match`
}