如何在变量中分配结果方法?C#



代码:

using System;
using System.IO;
namespace TimeTress
{
class Program
{
static void Main(string[] args)
{
GetString("../../../../timeline.csv");
GetString("../../../../people.csv");
}
static void GetString(string path)
{
if (File.Exists(path))
{
foreach (var line in File.ReadAllLines(path))
{
Console.WriteLine(line);
}
}
else
{
Console.WriteLine($"Файл не найден по пути {Path.GetFullPath(path)}");
}
}
}
}

有必要的是,结果不应简单地显示,而是应写入两个不同的变量中,最好写入数组string[]或string[]中,以便将来可以使用它们。文件文本:时间轴:{event_date};{eventdescription}人:{Name};{出生日期};{死亡日期}

将方法的返回类型更改为string[]List<string>(如果不知道区别,请使用Google)

然后,而不是:

Console.WriteLine(line);

创建一个列表并添加行:

List<string> result = new ListString();
foreach (var line in File.ReadAllLines(path))
{
result.Add(line);
}
return line; // or `lines.ToArray()`, if your return type is `string[]`

现在,您需要考虑当文件不存在时的返回值。一种选择是返回null。但这并不好,并迫使用户(我的意思是,程序员)在调用该方法时检查空结果。在我看来,更好的选择是不检查文件的存在。是的,你没听错。让FileNotFoundException被抛出。

有关处理CSV文件和解析字段的详细方法,请参阅互联网上的其他帖子,包括StackOverflow 中的帖子

首先,需要定义变量,然后才能为变量赋值。这个变量定义是使用类似于以下的语句完成的:

string[] stringArray;

定义变量后,可以为预期变量赋值,如下所示:

stringArray = new string[] { "message one", "message two" };

在此基础上,如果您想读取文本文件中的行,将行分配给字符串数组,然后返回包含该字符串数组的变量,那么以下函数将是实现这一点的一种方法:

static string[] GetListOfStringsFromTextFile(string filePath)
{
string[] stringArray;
if (File.Exists(filePath))
{
// ReadAllLines() already returns a string array. No need to loop.
stringArray = File.ReadAllLines(filePath);
}
else
{
// If file not found, return empty string array as default.
stringArray = new string[0];
}

return stringArray;
}

最新更新