[英]How to store text from a file-list into a variable in c#
嗨,我是编程新手。 我想读取文本文件和取的值( string
S)和中的每个字符存储string
在一个array
个别地。 我使用了一个列表来从文本文件中获取值。 我发现很难将它们移动到array
,然后在程序中使用这些值。 如果可能的话,请给我找到解决方案。 预先感谢您。
public class file_IO
{
string[] letters = new string[] //I would like to store it in this variable
public void File_Reader()
{
string filepath = @"env.txt"; //Variable to hold string
List<string> file_lines = File.ReadAllLines(filepath).ToList();//returns array of strings into List
foreach (string line in file_lines)
{
}
}
}
List<List<char>> linesAsChars = File.ReadAllLines(filepath)
.Select(l => l.ToList())
.ToList();
这将获得一个字符列表。
string
实现IEnumerable<char>
,因此使用ToList
时,文件中的每一行都转换为List<char>
。
希望这对您有用!
public char[] File_Reader()
{
string filepath = @"env.txt"; //Variable to hold string
StreamReader sr = new StreamReader(filepath);
string fileContentInString = sr.ReadToEnd();
sr.Close();
return fileContentInString.ToCharArray();
}
“将字符串的每个字符分别存储在数组中”的解决方案非常简单,因为string
实际上是char
的array
。 您可以使用类似以下方式进行此操作:
char[] letters;
public void File_Reader()
{
string filepath = @"env.txt";
letters = File.ReadAllText(filePath).ToArray();
}
我不确定我是否正确理解了您的问题,但是从我阅读的内容中,我将假定您需要一个行数组(即string
)。
在这种情况下,您不需要做太多事情,因为File.ReadAllLines()
方法自然会输出一个string
变量数组。
删除for
循环并替换
List<string> file_lines = File.ReadAllLines(filepath).ToList();//returns array of strings into List
与:
letters = File.ReadAllLines(filepath)
如果您想要的实际上是文件中每个char值的数组,我将参考@ m.rogalski的答案并声明一个char []数组,例如,声明:
char[] fileChars;
然后将我前面提到的行替换为:
fileChars = readAllText(filePath).toCharArray()
您会发现在以上两种情况下都不需要循环。 希望我能帮上忙。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.