我正在尝试了解我可以使用哪些变体来获取第一行或最后一行带有 Contains
或 StartsWith
的字符串,其中包含搜索值或以它开头.但是没有创建新列表并从那里获取第一行或最后一行,结果实际上是这个问题的答案,但我想知道是否有可能直接从列表中获取它,例如,如果列表内容是:
List<string> list = new List<string>()
{
"data file collection k"
"file name collection l",
"file data collection m",
"name data collection a",
"name data collection b",
"data name collection c",
"data file collection d"
};
和搜索词:
string val = "name";
所以这样:
foreach (string str in List)
{
if (str.StartsWith(val))
{
// ...
}
}
结果是:
name data collection a
name data collection b
或者如果查找整个字符串内容,例如:
var mtchVal = list.Where(stringToCheck => stringToCheck.Contains(val));
结果是:
file name collection l
name data collection a
name data collection b
data name collection c
但是 StartsWith
的期望结果必须是:
name data collection a
和整个内容:
file name collection l
最佳答案
如果允许 linq 则
var list = new List<string>();
var first = list.FirstOrDefault(s => s.StartsWith("name"));
var last = list.LastOrDefault(s => s.StartsWith("name"));
关于c# - 如何通过 StartsWith 或包含搜索值查找列表中的第一个或最后一个字符串而不添加到另一个列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44339883/