C# 通过“获取基于指定值的列表中的项目”=&引用;性格
我有一个存储的值列表,我在其中添加了一个等号作为“生产”和“测试”,如下所示C# 通过“获取基于指定值的列表中的项目”=&引用;性格,c#,.net,string,list,C#,.net,String,List,我有一个存储的值列表,我在其中添加了一个等号作为“生产”和“测试”,如下所示 List<string> data = new List<string>(); data.Add("app01=production"); data.Add("app02 = test"); data.Add("app03 = production"); 列表数据=新列表(); 添加数据(“app01=生产”); 添加数
List<string> data = new List<string>();
data.Add("app01=production");
data.Add("app02 = test");
data.Add("app03 = production");
列表数据=新列表();
添加数据(“app01=生产”);
添加数据(“app02=测试”);
添加数据(“app03=生产”);
使用这个列表,我想提取等于“production”的值。现在使用string.contains方法可以很容易地做到这一点,但我实际上只想存储第一部分,例如,我只想将值“app01”和“app02”存储在单独的列表中,而不是“app01=production”和“app03=production”
对如何进行有什么建议吗
这是到目前为止我的代码
static void Main(string[] args)
{
List<string> data = new List<string>();
data.Add("app01=production");
data.Add("app02 = test");
data.Add("app03 = production");
List<string> production = new List<string>();
foreach (var item in data)
{
if (item.Contains("production"))
{
production.Add(item);
}
}
}
static void Main(字符串[]args)
{
列表数据=新列表();
添加数据(“app01=生产”);
添加数据(“app02=测试”);
添加数据(“app03=生产”);
列表生产=新列表();
foreach(数据中的var项)
{
如果(项目包含(“生产”))
{
生产。添加(项目);
}
}
}
您可以拆分=
字符上的每个字符串,检查拆分的第二部分是否包含“生产”
,如果包含,则使用一些系统选择第一部分(进入列表中)。Linq
:
List<string> production = data.Select(item => item.Split('='))
.Where(part => part.Length > 1 &&
part[1].Contains("production"))
.Select(part => part[0].Trim())
.ToList();
如果出于某种原因不想使用Linq,可以使用循环找到等号并将等号后的项的值与“production”
进行比较,如果匹配,则将字符串的第一部分返回到等号(用于删除任何前导或尾随空格):
List production=newlist();
foreach(数据中的var项)
{
var equalsIndex=item.IndexOf(“=”);
if(equalsIndex>0&&item.Substring(equalsIndex.Contains)(“生产”))
{
production.Add(item.Substring(0,equalindex.Trim());
}
}
您可以拆分=
字符上的每个字符串,检查拆分的第二部分是否包含“生产”
,如果包含,则使用一些系统选择第一部分(进入列表中)。Linq
:
List<string> production = data.Select(item => item.Split('='))
.Where(part => part.Length > 1 &&
part[1].Contains("production"))
.Select(part => part[0].Trim())
.ToList();
如果出于某种原因不想使用Linq,可以使用循环找到等号并将等号后的项的值与“production”
进行比较,如果匹配,则将字符串的第一部分返回到等号(用于删除任何前导或尾随空格):
List production=newlist();
foreach(数据中的var项)
{
var equalsIndex=item.IndexOf(“=”);
if(equalsIndex>0&&item.Substring(equalsIndex.Contains)(“生产”))
{
production.Add(item.Substring(0,equalindex.Trim());
}
}
List<string> production = new List<string>();
foreach (var item in data)
{
var equalsIndex = item.IndexOf("=");
if (equalsIndex > 0 && item.Substring(equalsIndex).Contains("production"))
{
production.Add(item.Substring(0, equalsIndex).Trim());
}
}