簡體   English   中英

如何使用 foreach 填充數組?

[英]How do I populate an array with foreach?

如何獲取可以在控制台中寫入的數據以寫入數組和控制台。

目前它只顯示在控制台上(沒有添加到陣列的功能)。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Diagnostics;
using System.IO;
using System.Text.RegularExpressions;

namespace TBParser
{
   class Program
   {
    static void Main(string[] args)
    {
        String[] arr = new String[100];
        string[] lines = System.IO.File.ReadAllLines(@"C:\ShpereCompare3.txt");
        Console.WriteLine("Contents of Text File: ");
        foreach (string line in lines)
        {
            Console.WriteLine("\r\t" + line);

        }
        System.IO.File.WriteAllLines(@"C:\Test.txt",lines);
        Console.WriteLine("Press any key to Exit");
        Console.ReadKey();    
    }
   }
}

如果我的文字行說

hello
my
name
is
Simon

那么數組的前 5 個插槽應該包含每一行嗎?

線路:

string[] lines = System.IO.File.ReadAllLines(@"C:\ShpereCompare3.txt");

已經在創建一個數組,其中的每個元素都包含一行。

無需通過foreach用相同的信息填充新數組。

如果要將文本文件中的行復制到另一個數組中,則可以執行以下操作:

String[] arr = new String[lines.Length];
Array.Copy(lines, arr, lines.Length);

找到了解決辦法。 我要走的路太復雜了。 感謝您的輸入

固定代碼在這里

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Diagnostics;
using System.IO;
using System.Text.RegularExpressions;

namespace TBParser
{
   class Program
   {
    static void Main(string[] args)
    {
        string fileName = @"C:shpereCompare3.txt";
        List<string> Names = new List<string>();
        List<string> Value = new List<string>();
        using (StreamReader fileReader = new StreamReader(fileName))
        {
            string fileLine;

            while (!fileReader.EndOfStream)
            {
                fileLine = fileReader.ReadLine();
                if (fileLine.StartsWith("Name"))
                {
                    Names.Add(fileLine.Substring(21));
                }
                if (fileLine.StartsWith("Center"))
                {
                    string[] fileSplit = fileLine.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
                    Value.Add(fileSplit[1]);
                }
            }
            string outputString = "";
            for (int i = 0;i < Names.Count; i++)
            {
                outputString += Names[i] + " = " + Value[i] + "\r\n";
            }
            System.IO.File.WriteAllText(@"C:Test.txt", outputString);
        }
    }
}

}

暫無
暫無

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

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