0

これは、より概念的な質問です。私は C# に慣れていないので、簡単に理解しようとしています。

私はテキストファイルから行を読み取ろうとしていますが、これは正常に機能しますが、最後の行も読み取るために次のソリューションを実装しようとしていますが、次のエラーが発生します:

エラー 1 'System.Collections.Generic.IEnumerable' には 'Last' の定義が含まれておらず、タイプ 'System.Collections.Generic.IEnumerable' の最初の引数を受け入れる拡張メソッド 'Last' が見つかりませんでした (ディレクティブまたはアセンブリ参照を使用していますか?)

コード:

using System;
using System.IO;
using System.Collections;

    class Program
    {          
        public static void Main()
        {
            int counter = 0;
            string line;
            string xml_files;
            // string jpg_files;
            System.IO.StreamReader file = new System.IO.StreamReader(@"C:\test\logfile_c#.txt");

            string lastLine = File.ReadLines(@"C:\test\logfile_c#.txt").Last();

            while ((line = file.ReadLine()) != null)
            {
                Console.WriteLine(line);
                Console.WriteLine(counter);
                Console.Read();
                counter++;
            }
        }
    }

誰かがこれを回避する方法をよりよく理解するのを手伝ってくれますか?

ありがとう!!

4

3 に答える 3

3

あなただけが必要です:

using System.Linq;

Last拡張メソッドであり、拡張メソッドは基本的にディレクティブSystem.Linq.Enumerableを介して検出されます。using

少しずつ学習するよりも、 LINQとそれを機能させるために一緒になっている言語のすべてのビットについて読む価値があるでしょう。

于 2013-05-16T09:31:04.477 に答える
2

先頭に次の行を追加してみてはどうでしょうか。

using System.Linq;
于 2013-05-16T09:30:55.737 に答える