Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.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#_Arrays_File_Sum_Integer - Fatal编程技术网

C# 如何从文件中计算整数和的问题

C# 如何从文件中计算整数和的问题,c#,arrays,file,sum,integer,C#,Arrays,File,Sum,Integer,我有以下格式的文件: 4651 9537 8154 我必须计算每行的总和。我试着这样做: string[] files = File.ReadAllLines(@"myPath"); // put each row of file in the array for(int i = 0; i < files.Length; i++) { string[] subFiles = files[i].Split(','); // try to make ar

我有以下格式的文件:

4651
9537
8154
我必须计算每行的总和。我试着这样做:

 string[] files = File.ReadAllLines(@"myPath"); // put each row of file in the array
 for(int i = 0; i < files.Length; i++) {
       string[] subFiles = files[i].Split(','); // try to make array of each files array element
       float sum = 0;
       for(int k = 0; k < subFiles.Length; k++) {
             float number = Singe.Parse(subFiles[k]); // convert each element of subFiles into float
             sum += number;
       }
       Console.WriteLine(sum);   
}

如果有人能告诉我哪里出了错,我该怎么做,我将不胜感激。

您正在设置
float sum=0在重置每个循环结果的循环内,您需要像这样将其移到外部

 float sum = 0;
 string[] files = File.ReadAllLines(@"1.txt"); // put each row of file in the array
 for (int i = 0; i < files.Length; i++)
 {
     ///reset of your code
 }
浮点和=0;
string[]files=File.ReadAllLines(@“1.txt”);//将文件的每一行放入数组中
for(int i=0;i
输出

46511418822342


您可以利用以下事实,即每一行都是一个
字符串
,因此是一个
IEnumerable
,可以使用LINQ进行查询:

foreach (string line in File.ReadLines(@"myPath"))
{
    double sum = line.Sum(Char.GetNumericValue);
    Console.WriteLine(sum);
}

Char.GetNumericValue
获取可以求和的每个字符的
double
表示形式。

您似乎希望每行都有一个逗号分隔的整数列表,但每行只有一个。
4651
的和是
4651
。我不确定你到底期望什么。您是要计算每行/每行或每文件的总和?另一方面,
文件
子文件
在引用行(或行的一部分)而不是文件时,它们的名称选择不当。你应该在
Singe.Parse上得到一个编译错误,如果没有其他的…@Hereticsmonkey为什么会得到一个错误,
Single
它仍然是一个浮点数。@styx
Single.Parse
可以正常工作
Singe.Parse
听起来像是在炉子上做的事情。。。
foreach (string line in File.ReadLines(@"myPath"))
{
    double sum = line.Sum(Char.GetNumericValue);
    Console.WriteLine(sum);
}