簡體   English   中英

如何從文件讀取並保存到4個不同的變量(C#)?

[英]How to read from a file and save to 4 different variables (C#)?

我試圖用我的SQL數據庫信息創建一個設置文件,但是我目前遇到的問題是我似乎無法讀取每一行並將其保存到其他變量中。

 private void readFile()
    { 
        {
            using (System.IO.StreamReader sr = new System.IO.StreamReader(@"C:\Users\Settings.txt", true))

            while (sr.Peek() >= 0)
            {
                CurrentLine = sr.ReadLine();

            }
        }
    }

我不確定如何設置它,以便可以將每個不同的行寫入4個變量。

任何幫助,將不勝感激!

我會使用一個數組來代替,您可以通過索引訪問它:

string[] lines = File.ReadAllLines(@"C:\Users\Settings.txt");
string firstLine = lines[0];
// and so on, keep in mind that it could have less lines

具有四個變量的StreamReader方法更加麻煩:

using (System.IO.StreamReader sr = new System.IO.StreamReader(@"C:\Users\Settings.txt", true))
{ 
    string line;
    int currentLineNumber = 0;
    while ((line = sr.ReadLine()) != null)
    {
        switch (++currentLineNumber)
        {
            case 1: first = line; break;
            case 2: second = line; break;
            case 3: third = line; break;
            case 4: fourth = line; break;
        }
    }
}

當我需要將設置存儲在文件中時,我創建了一個類來保存信息,例如

public class Settings{
   public string ConnectionString {get;set;}
   public string DatabaseName {get;set;}
   public DateTime Started {get;set;}
}

保存設置:

var settings = new Settings(){
   ConnectionString = "blah blah blah",
   DatabaseName = "blah blah blah",
   Started = DateTime.Now,
};
var json = JsonConvert.SerializeObject(settings);
File.WriteAllText(@"C:/Settings.txt", json);

正在加載設置:

var json = File.ReadAllText(@"C:/Settings.txt");
var settings = JsonConvert.DeserializeObject(json);

我發現這是可靠,靈活和穩定的。 這也意味着您不必擔心在(例如)DateTime和String之間進行轉換。 您也不必擔心設置值的順序。

(這使用Json.NET包。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM