使用linq搜索字符串[]

时间:2014-06-04 17:00:49

标签: c# linq arrays

我是linq的新手,并试图学习一些基础知识?功能。我有一个字符串,我分裂成一个字符串数组,我想查询数组的值。我的代码。

string input = "a1,b2,c3,d4";

var collection = input.Split(',');

string output = collection.OfType<string>().Where(r => (string)r.Contains("a").FirstOrDefaule();

我认为我在正确的轨道上,但它并不完全存在。我希望输出为a1。

错误是无法将bool转换为字符串,这是有道理的,但是如果不使用contains方法,你会怎么做呢?

3 个答案:

答案 0 :(得分:5)

此代码应该有效:

string output = collection.First(r => r.Contains("a"));

Contains可能是最有效的方式。

Where为您提供所有元素的新列表,其中包含&#34; a&#34 ;; First(或FirstOrDefault)将返回单个值。

答案 1 :(得分:0)

为什么在Where子句中使用强制转换为字符串?你不需要它。 试试这个

string output= urls.OfType<string>().Where(r => r.Contains("a")).FirstOrDefault();

答案 2 :(得分:0)

试试这个

string output= collection.Where(r => r.Contains("a")).FirstOrDefault();