C# 字符串数组到字符串转换所需的Linq语法
我已从特定文件夹中获取阵列中选定文件的列表C# 字符串数组到字符串转换所需的Linq语法,c#,linq,c#-4.0,C#,Linq,C# 4.0,我已从特定文件夹中获取阵列中选定文件的列表 String[] allfiles = System.IO.Directory.GetFiles(Target, "*.*", System.IO.SearchOption.AllDirectories); 我需要将所有这些文件转换为字符串变量,并在LINQ的帮助下,在每一行附加“\n”字符。在循环的帮助下,我可以像下面这样做,但我需要LINQ语法 String strFileName = string.Empty; for ( int i = 0
String[] allfiles = System.IO.Directory.GetFiles(Target, "*.*", System.IO.SearchOption.AllDirectories);
我需要将所有这些文件转换为字符串变量,并在LINQ的帮助下,在每一行附加“\n”字符。在循环的帮助下,我可以像下面这样做,但我需要LINQ语法
String strFileName = string.Empty;
for ( int i = 0; i < allfiles.Length ; i++)
strFileName = strFileName + "\n" + allfiles[1] ;
String strFileName=String.Empty;
for(int i=0;i
很简单
String.Join("\n",allFiles)
很容易
String.Join("\n",allFiles)
您不需要Linq来执行此操作,您可以改用string.Join()方法
String strFileName = string.Join("\n", allfiles);
您不需要Linq来执行此操作,您可以改用string.Join()方法
String strFileName = string.Join("\n", allfiles);
以下几点应该行得通
String.Join(delimiter,stringArray);
以下几点应该行得通
String.Join(delimiter,stringArray);
你不需要linq来帮你。只需使用简单的string.Join()方法
你不需要linq来帮你。只需使用简单的string.Join()方法 首先,我会改为使用,这样您就不需要等到所有文件都被读取了。然后您可以使用:
IEnumerable allFileNames=Directory.EnumerateFiles(目标“**”,System.IO.SearchOption.AllDirectories);
string strFileNames=string.Join(Environment.NewLine,allfilename);
首先,我将使用,这样您就不需要等到所有文件都被读取了。然后您可以使用:
IEnumerable allFileNames=Directory.EnumerateFiles(目标“**”,System.IO.SearchOption.AllDirectories);
string strFileNames=string.Join(Environment.NewLine,allfilename);
您不需要Linq来做这件事,您可以使用String.Join
方法,如Jamiec的回答所示
现在,如果您真的想使用Linq,可以使用Aggregate
:
string strFileName = allfiles.Aggregate("", (acc, file) => acc + "\n" + file);
或者更好地使用StringBuilder
:
string strFileName = allfiles.Aggregate(
new StringBuilder(),
(acc, file) => acc.AppendLine(file),
acc => acc.ToString());
您不需要Linq来做这件事,您可以使用
String.Join
方法,如Jamiec的答案所示
现在,如果您真的想使用Linq,可以使用Aggregate
:
string strFileName = allfiles.Aggregate("", (acc, file) => acc + "\n" + file);
或者更好地使用StringBuilder
:
string strFileName = allfiles.Aggregate(
new StringBuilder(),
(acc, file) => acc.AppendLine(file),
acc => acc.ToString());
如果需要使用LINQ:
var result = allFiles.Aggregate(new StringBuilder(),
(sb, s) => sb.AppendLine(s),
sb => sb.ToString());
如果需要使用LINQ:
var result = allFiles.Aggregate(new StringBuilder(),
(sb, s) => sb.AppendLine(s),
sb => sb.ToString());
我想你的意思是
allfiles[I]
你上面的代码不能解决你的问题。@HamletHakobyan显然。如果可以的话,他为什么会在这里问呢?谢谢大家。你的回答帮助了我。我想你的意思是所有文件[I]
你上面的代码不能解决你的问题。@HamletHakobyan显然。如果可以的话,他为什么会在这里问呢?谢谢大家。你的回答对我很有帮助。有一个字符串是string
和IEnumerable
有一个字符串是string
和IEnumerable