从字符串数组中取出*可能*在那里

时间:2010-04-30 11:04:30

标签: c# arrays

我有一个字符串数组,它可能包含一个在字符串中带有文本“mytext”的元素。例如:

mystringarray
{
    [0] => "hello world";
    [1] => "some of mytext";
}

我还有一个没有mytext文本的数组。

mystringarray
{
    [0] => "hello world";
    [1] => "some of notmy";
}

我的问题是我何时使用:

string mytextdata = mystringarray.Single<string>(t => t.Contains("mytext")).ToString();

我得到第二个数组的异常,因为它找不到与表达式匹配的元素。

有没有一种快速的方法可以编辑这一行,如果没有找到任何内容就不会抛出异常,而只是忽略?我有很多这些行,我不想在if语句中包含每一行。

如果问题不明确,请道歉。

2 个答案:

答案 0 :(得分:9)

string mytextdata = mystringarray.SingleOrDefault<string>(t => t.Contains("mytext"));

如果找不到任何内容,则会返回null,否则会返回string,因此您不需要ToString()http://msdn.microsoft.com/en-us/library/bb342451.aspx

答案 1 :(得分:1)

也许您可以使用FirstOrDefault()方法。好吧 - 我刚才意识到还有一个SingleOrDefault()