par*_*dox 13 c# string foreach
不知怎的,我似乎无法在C#的foreach循环中获得字符串替换.我的代码如下:
foreach (string s in names)
{
s.Replace("pdf", "txt");
}
Run Code Online (Sandbox Code Playgroud)
对于LINQ来说还是很新的,所以请原谅我,如果这听起来很业余;)
Jon*_*eet 32
你说你是在使用LINQ解决方案......这很简单:
var replacedNames = names.Select(x => x.Replace("pdf", "txt"));
Run Code Online (Sandbox Code Playgroud)
我们不知道它的类型names,但是如果你想要分配给它,你可能会使用ToArray或ToList:
// If names is a List<T>
names = names.Select(x => x.Replace("pdf", "txt")).ToList();
// If names is an array
names = names.Select(x => x.Replace("pdf", "txt")).ToArray();
Run Code Online (Sandbox Code Playgroud)
您应该知道,您发布的代码目前根本没有使用LINQ ...
And*_*bel 23
C#中的字符串是不可变的(不会更改),因此s.Replace将返回一个新字符串.不幸的是,这意味着您无法使用foreach进行更新.如果names是一个数组,这应该工作:
for(int i = 0; i < names.Length; i++)
{
names[i] = names[i].Replace("pdf", "txt");
}
Run Code Online (Sandbox Code Playgroud)