C# 如何在列表中搜索<;字符串>;项目
我有一个列表,其中填充了如下字符串:C# 如何在列表中搜索<;字符串>;项目,c#,string,list,C#,String,List,我有一个列表,其中填充了如下字符串: List<string> data = new List<string>(); data.Add(itemType + "," + itemStock + "," + itemPrice); 列表数据=新列表(); 添加(itemType+“,“+itemStock+”,“+itemPrice”); 所以基本上有3个字符串变量是逗号分隔的 现在我想在此列表中搜索并删除特定类型的项目。也就是说,我需要搜索列表视图中哪些元素以所需的
List<string> data = new List<string>();
data.Add(itemType + "," + itemStock + "," + itemPrice);
列表数据=新列表();
添加(itemType+“,“+itemStock+”,“+itemPrice”);
所以基本上有3个字符串变量是逗号分隔的
现在我想在此列表中搜索并删除特定类型的项目。也就是说,我需要搜索列表视图中哪些元素以所需的“itemType”开头
谢谢。要回答标题中的问题(“如何搜索…”),将返回一个带有所需项目的
IEnumerable
:
var itemsToRemove = data.Where(x => x.StartsWith(specificItemType + ","));
要回答问题正文中的问题,可以使用删除以下项目:
data.RemoveAll(x => x.StartsWith(specificItemType + ","));
但是,我建议您重新考虑您的数据结构。考虑创建类<代码>项目<代码>:
public class Item {
public string Type { get; set; }
public int Stock { get; set; }
public decimal Price { get; set; }
public override string ToString() {
return itemType + "," + itemStock + "," + itemPrice;
}
}
然后将这些数据结构添加到列表中:
List<Item> data = new List<Item>();
data.Add(new Item {Type = itemType, Stock = itemStock, Price = itemPrice});
要回答标题中的问题(“如何搜索…”),将返回一个包含所需项目的
IEnumerable
:
var itemsToRemove = data.Where(x => x.StartsWith(specificItemType + ","));
要回答问题正文中的问题,可以使用删除以下项目:
data.RemoveAll(x => x.StartsWith(specificItemType + ","));
但是,我建议您重新考虑您的数据结构。考虑创建类<代码>项目<代码>:
public class Item {
public string Type { get; set; }
public int Stock { get; set; }
public decimal Price { get; set; }
public override string ToString() {
return itemType + "," + itemStock + "," + itemPrice;
}
}
然后将这些数据结构添加到列表中:
List<Item> data = new List<Item>();
data.Add(new Item {Type = itemType, Stock = itemStock, Price = itemPrice});
您还可以使用:
您还可以使用:
将返回以指定类型开头的字符串列表
将返回以指定类型开头的字符串列表。是否要从列表中删除这些字符串,以便
data.RemoveAll(x => x.StartsWith(itemType));
您想从列表中删除它们,以便
data.RemoveAll(x => x.StartsWith(itemType));
数据设置
List<string> data = new List<string>();
data.Add("Type1" + "," + "A" + "," + "A");
data.Add("Type2" + "," + "B" + "," + "B");
string typeToExclude = "Type2";
int typeIndex = 0;
数据设置
List<string> data = new List<string>();
data.Add("Type1" + "," + "A" + "," + "A");
data.Add("Type2" + "," + "B" + "," + "B");
string typeToExclude = "Type2";
int typeIndex = 0;
难道不需要逗号吗
x.StartsWith(specificItemType+“,”)
@Banthar:谢谢,说得很好。补充。但是,如果项目类型包含逗号,它仍然会创建错误的结果,这就是我推荐“安全”解决方案的原因。感谢您提供更好的解决方案!难道不需要逗号吗x.StartsWith(specificItemType+“,”)
@Banthar:谢谢,说得很好。补充。但是,如果项目类型包含逗号,它仍然会创建错误的结果,这就是我推荐“安全”解决方案的原因。感谢您提供更好的解决方案!