簡體   English   中英

通過數組末尾分配變量

[英]Assigning a variable through the end of the array

我試圖找出是否有一種方法可以將[2]之后的最后一個變量( var4 )分配給數組的其余部分。

static void Main(string[] args)
{
    string var1;
    string var2;
    string var3;
    string var4;

    string readContents;
    using (StreamReader streamReader = new StreamReader(@"File.txt"))
    {
        readContents = streamReader.ReadToEnd();
        string[] lines = readContents.Split('\r');
        foreach (string s in lines)
        {
            string[] lines2 = s.Split('\t');
            var1 = lines2[0];
            var2 = lines2[1];
            var3 = lines2[2];
            var4 = lines2[3];
            Console.WriteLine("Var1: {0}\nVar2: {1}\nVar3: {2}\nVar4: {3}", var1, var2, var3, var4);
            Console.ReadLine();    
        }
    }
}

每個變量都用制表符分隔,因此拆分有效。 但是在IP地址之后,我希望在var4獲取整個錯誤消息(包括選項卡,並運行到數組的末尾)。

文件內容:

2015-04-19 00:00:00  HostName.ErrorLevel    IP Address  "Error Message"
2015-04-19 00:00:00  HostName.ErrorLevel    IP Address  "Error Message"
2015-04-19 00:00:01  HostName.ErrorLevel    IP Address  "Error Message"

Split有一個可選的int count附加參數。 如果傳遞給它一個數字,它將不會將字符串分割成多個元素,而是將字符串的其余部分放入最后一個元素。

好吧,你可以嘗試像

var4 = String.Join(" ", lines2.Skip(3));

這將使用空格作為分隔符來連接lines2大於1的lines2數組中的所有條目(即跳過前三個元素)。

暫無
暫無

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

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