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:谢谢,说得很好。补充。但是,如果项目类型包含逗号,它仍然会创建错误的结果,这就是我推荐“安全”解决方案的原因。感谢您提供更好的解决方案!