Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
操作列表中的元素-c#_C#_List - Fatal编程技术网

操作列表中的元素-c#

操作列表中的元素-c#,c#,list,C#,List,我有以下模式的字符串列表:“name\middleName”。 将所有元素都转换为“名称”的列表的最佳方式是什么? (即拆分字符串,只保留“名称”部分) 谢谢, Li列表原始列表=。。。 List newList=originalList.Select(s=>s.Split('\\')[0]).ToList() 列出原始列表=。。。 List newList=originalList.Select(s=>s.Split('\\')[0]).ToList() //格式的字符串列表(name\mid

我有以下模式的字符串列表:“name\middleName”。 将所有元素都转换为“名称”的列表的最佳方式是什么? (即拆分字符串,只保留“名称”部分)

谢谢, Li

列表原始列表=。。。
List newList=originalList.Select(s=>s.Split('\\')[0]).ToList()
列出原始列表=。。。
List newList=originalList.Select(s=>s.Split('\\')[0]).ToList()
//格式的字符串列表(name\middleName)
名单;
列表新建列表;
foreach(列表中的字符串项)
newList.Add(item.Substring(0,item.IndexOf(“\\”));
这将使字符串列表的副本变成一个新的格式,如您所需。

//字符串列表的格式(name\middleName)
名单;
列表新建列表;
foreach(列表中的字符串项)
newList.Add(item.Substring(0,item.IndexOf(“\\”));
这将使字符串列表的副本变成一个新的格式,如您所需。

标记化“/”并将第一个字符串分配给name变量。 或者只是让列表中的所有字符串循环,并在循环中对字符串长度进行循环,将字符放入变量中,到达“/”时退出,然后将其存储为名称。

标记化“/”并将第一个字符串分配给名称变量。
List<string> original = ...
List<string> nameOnly = original.ConvertAll(s => s.Substring(0, s.IndexOf('\\')));

或者只是让列表中的所有字符串循环,并在循环中对字符串长度进行循环,将字符放入变量中,到达“/”时退出,然后将其存储为名称。

这里有一个正则表达式解决方案,它不创建新的列表

List<string> original = ...
List<string> nameOnly = original.ConvertAll(s => s.Substring(0, s.IndexOf('\\')));
for(int i = 0; i < list.count; i++)
{
     list[i] = Regex.Match(List[i],@"^\w+").value      
}
for(int i=0;i
这里有一个正则表达式解决方案,不需要创建新列表

for(int i = 0; i < list.count; i++)
{
     list[i] = Regex.Match(List[i],@"^\w+").value      
}
for(int i=0;i
您的意思可能是
[0]
获取
名称
部分。实际上应该是元素[0],但对于一个好的解决方案,+1。编辑:艾哈迈德击败了我。:)哦,是的,不知什么原因,我想这个名字是以“\”开头的。Fixed Now您可能指的是
[0]
来获取
名称
部分。实际上应该是元素[0],但对于一个好的解决方案,+1。编辑:艾哈迈德击败了我。:)哦,是的,不知什么原因,我想这个名字是以“\”开头的。“现在已修复不认为您可以在这样的foreach中更改项目。@Eric在发布此内容之前,我已将其更改为添加到新列表中。新问题发生得很快:)不要认为您可以在这样的foreach中更改项目。@Eric在发布此内容之前,我已将其更改为添加到新列表中。新问题发生得很快:)
for(int i = 0; i < list.count; i++)
{
     list[i] = Regex.Match(List[i],@"^\w+").value      
}