C# 在列表中查找特定字符串<&燃气轮机;
我正在使用我的C# 在列表中查找特定字符串<&燃气轮机;,c#,linq,list,C#,Linq,List,我正在使用我的列表iList,如下所示: 现在我想说的是: public string getStaticName(string SPFriendlyName) { if (!string.IsNullOrEmpty(SPFriendlyName)) { foreach (SharepointFieldMapper x in iList) { if (string.Equals(iList.Fi
列表iList
,如下所示:
现在我想说的是:
public string getStaticName(string SPFriendlyName)
{
if (!string.IsNullOrEmpty(SPFriendlyName))
{
foreach (SharepointFieldMapper x in iList)
{
if (string.Equals(iList.FindAll(FriendlyName); (SPFriendlyName)){} //Didn't run
result = iList.Find(x => x.FriendlyName.Contains(SPFriendlyName))); // Didn't run either
}
}
基本上,我试图在列表中搜索作为参数的SPFriendlyName的值。但两次尝试都显示出一个空洞的结果
我不介意它是否是Linq。所以您想获得列表中的第一个
FriendlyName
,即SPFriendlyName
:
string firstmatchingFriendlyName = iList
.Where(x => x.FriendlyName == SPFriendlyName)
.Select(x => x.FriendlyName)
.DefaultIfEmpty(null) // specify the replacement value
.First();
这将搜索第一个
SharepointFieldMapper
,其中FriendlyName
等于参数并选择此字符串属性DefaultIfEmpty
允许指定替换值,如果没有具有该名称的替换值,则使用该替换值<代码>可枚举。首先选择第一个匹配项或替换值。IsNullOrEmpty检查应该在循环之外进行,它的结果在一次迭代到下一次迭代之间不会有任何不同。作为旁注,您的if(!string.IsNullOrEmpty(SPFriendlyName))
应该在foreach
之外。“两次尝试都没有成功”-这是您的问题出了问题的地方。:P问题出在哪里?在代码中设置一个断点,并逐步查看发生了什么。如果“没有运行”“那么它很可能不满足达到该代码所需的条件。谢谢各位,我已经更改了代码,@Octopoid如果结果是错误的,那么另一个x没有问题??