1

ファイルの最初の 10 行に基づいてファイルを作成しようとしています。

これが私がこれまでに得たものです:

var lines2 = File.ReadLines(fileName).Take(10);
foreach (string newFile in lines2)
{
    CreateiniFile(folder, newFile);
}

これはここにある呼び出しCreateiniFileです:

static void CreateiniFile(string directory, string name)
{
    string filename = String.Format("File_" + name + ".ini");
    string path = Path.Combine(directory, filename);
    if (!File.Exists(path))
    {
        using (StreamWriter sw = File.CreateText(path))
        {
            sw.WriteLine("Text");
            sw.Close();
        }
    }
}

これにより、10 行すべてにデータがある場合は正しいファイルが作成されますが、いずれかの行が空白の場合はファイルが作成されますFile_.ini

null リターンに基づいてファイルを作成しないようにするにはどうすればよいですか?

4

1 に答える 1

1

空でない最初の 10 行が必要な場合:

var lines2 = File
    .ReadLines(fileName)
    .Where(line => !string.IsNullOrEmpty(line))
    .Take(10);

最初の空でない行が最大 10 行必要な場合は、次のようにします。

var lines2 = File
    .ReadLines(fileName)
    .Take(10)
    .Where(line => !string.IsNullOrEmpty(line));
于 2013-10-08T10:12:37.917 に答える