C# 循环浏览文本文件以捕获字符串
我正在寻找一个解决这个问题的方法,这个方法让我很难接受:我试图用这个代码从一个.txt文件中读取文本。行C# 循环浏览文本文件以捕获字符串,c#,C#,我正在寻找一个解决这个问题的方法,这个方法让我很难接受:我试图用这个代码从一个.txt文件中读取文本。行Monsters[i,j]=string(col.Split(“”))给我带来麻烦,告诉我字符串是无效的表达式。该文件是字符及其属性的列表,以空格分隔。提前谢谢 String input = File.ReadAllText(@"CharacterAttributes.txt"); int a = 0, b = 0; string[,] Monsters = new string[24,11
Monsters[i,j]=string(col.Split(“”))代码>给我带来麻烦,告诉我字符串是无效的表达式。该文件是字符及其属性的列表,以空格分隔。提前谢谢
String input = File.ReadAllText(@"CharacterAttributes.txt");
int a = 0, b = 0;
string[,] Monsters = new string[24,11];
foreach (var row in input.Split('\n'))
{
b = 0;
foreach (var col in row.Trim().Split(' '))
{
Monsters[a, b] = string(col.Split(' '));
b++;
}
b++;
}
从我看来:
- 您已经按行分隔了每个字符:
input.Split('\n')中的var row
- 您已经按空格分隔了字符的每个属性:
var col in row.Trim().Split(“”)
所以,当我们谈到Monsters[a,b]=string(col.Split(“”))
(顺便说一句,string()
是无效语法)时,我看不出有任何理由进一步拆分,而您实际要做的是将col
的值存储到Monsters[a,b]
,假设a
是每个字符,b
是所述字符的属性
怪物[a,b]=col代码>很可能就是您想要的。从我看来:
- 您已经按行分隔了每个字符:
input.Split('\n')中的var row
- 您已经按空格分隔了字符的每个属性:
var col in row.Trim().Split(“”)
所以,当我们谈到Monsters[a,b]=string(col.Split(“”))
(顺便说一句,string()
是无效语法)时,我看不出有任何理由进一步拆分,而您实际要做的是将col
的值存储到Monsters[a,b]
,假设a
是每个字符,b
是所述字符的属性
怪物[a,b]=col代码>很可能就是您想要的。在拆分中使用RemoveEmptyEntries选项。在创建空entires的列之间可能有多个空格。语句字符串(…)是什么?C#中没有这种东西。谢谢,@jdweng,我会的。我的属性之间确实有制表符。@chameleon86,那是我试图过度思考的东西。myStr.Split(new char[]{'','\t'},StringSplitOptions.removemptyEntries);在拆分中使用选项RemoveEmptyEntries。在创建空entires的列之间可能有多个空格。语句字符串(…)是什么?C#中没有这种东西。谢谢,@jdweng,我会的。我的属性之间确实有制表符。@chameleon86,那是我试图过度思考的东西。myStr.Split(new char[]{'','\t'},StringSplitOptions.removemptyEntries);谢谢我对这个很陌生,我倾向于把事情复杂化。我确实看到了无效的语法,这是我困惑的原因。数组让我进入循环。向上投票。非常有帮助。谢谢!我对这个很陌生,我倾向于把事情复杂化。我确实看到了无效的语法,这是我困惑的原因。数组让我进入循环。向上投票。非常有用。