Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/304.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# 字符串数组到字符串转换所需的Linq语法_C#_Linq_C# 4.0 - Fatal编程技术网

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