我一直试图这样做大约6个小时了,我很难过......
我希望在C#中等效于此:
$settings = array();
foreach(file('settings.txt') as $l) $settings[]=explode(',',$l);
print $settings[0][2];
Run Code Online (Sandbox Code Playgroud)
这是我到目前为止所做的不起作用:
string fileName = System.IO.Path.GetDirectoryName(Application.ExecutablePath) + "\\" + "settings.txt";
string[,] settings;
FileStream file = null;
StreamReader sr = null;
try
{
file = new FileStream(fileName, FileMode.OpenOrCreate, FileAccess.Read);
sr = new StreamReader(file, Encoding.ASCII);
string[] line;
int i = 0;
do
{
line = sr.ReadLine().Split(',');
settings[i++, 0] = line[0];
} while (line != null);
file.Close();
MessageBox.Show(settings[1, 0]);
} catch (Exception err) { MessageBox.Show(err.Message); }
Run Code Online (Sandbox Code Playgroud)
我得到"对象引用没有设置为对象的实例",任何想法将不胜感激..
使用锯齿状数组而不是多维数组 - 或者更好,a List<string[]>:
var settings = new List<string[]>();
foreach (string line in File.ReadLines("settings.txt", System.Text.Encoding.ASCII))
settings.Add(line.Split(','));
Run Code Online (Sandbox Code Playgroud)
Marc使用LINQ而不是循环是一个很好的选择.
| 归档时间: |
|
| 查看次数: |
1695 次 |
| 最近记录: |