2016-07-25 17 views
-2

IがI/Oを使用し、アルファベット順にアルファベット順に呼ばれるメソッドを使用して入力ファイルをソートするためにしようとしている、これはコンパイルエラーアルファベット順は

(35,42)を持つ:エラーをCS1061: '文字列'に 'ToArray'の定義が含まれておらず、拡張メソッド 'ToArray'が 'string'型の最初の引数を受け入れることができませんでした(使用するディレクティブまたはアセンブリ参照がありません)

これを解決するにはどうすればよいですか?

using System; 
using System.IO; 

namespace examplefile 
{ 
    class examplefile 
    { 
     static void Main(string[] args) 
     { 

      StreamWriter writer = null; 

      writer = new StreamWriter(@"C:\C#Files\OutputWrite2.txt"); 

      Console.SetOut(writer); 

      Console.SetIn(new StreamReader(@"C:\C#Files\InputRead2.txt")); 

      string letters; 
      while ((letters = Console.ReadLine()) != null) 
      writer.Close(); 


      StreamWriter standardOutput = new StreamWriter(Console.OpenStandardOutput()); 
      standardOutput.AutoFlush = true; 
      Console.SetOut(standardOutput); 

      Console.WriteLine("Sorted all letters alphabetically and wrote to output file."); 

     } 

     public static String alphabetize(string letters) 
     { 
      char[] alphabetize = letters.ToArray(); 
      Array.Sort(alphabetize); 
      return new string(alphabetize); 
     } 
    } 
} 
+2

:あなたがあなたのファイルにSystem.Linq名前空間が含まれている場合、その後、あなたはは、拡張メソッドToArray<TSource>()を呼び出すことができるようにstringは、IEnumerable<char>を実装しますか? –

+0

(35,42):エラーCS1061: '文字列'に 'ToArray'と拡張メソッドの定義が含まれていません 'ToArray'受け入れています'string'型の最初の引数が見つかる可能性があります(使用指示文または アセンブリ参照がありません) – Kevin85

+0

あなたの質問を編集してください... – rene

答えて

2

あなたの問題はここにある:

char[] alphabetize = letters.ToArray(); 

あなたが明確になったエラーが述べたよう:

'文字列' 'てToArray' と拡張子なし メソッドの定義が含まれていません。文字列 'string'の最初の引数を受け入れる 'ToArray'は です。

このエラーメッセージには2つの部分があります。最初の部分はstringToArray()メソッドがないと言います。 lettersstringなので、ToArray()に電話することはできません。代わりにこれを試してみてください:

char[] alphabetize = letters.ToCharArray(); 

エラーの2番目の部分はコンテキストで定義されたToArray拡張メソッドが存在しないことを示しています。ただし、System.Linq名前空間には、IEnumerable<char>というインターフェイスに拡張方法ToArray<TSource>()があります。エラーを生成している何行

// at the top of your file with your other includes. 
using System.Text; 

// NOW you can do this: 
char[] alphabetize = letters.ToArray(); 
+0

それはあなたに感謝してみよう! – Kevin85

+0

それは働いた。大変ありがとうございます。 – Kevin85

+0

'ToArray'は、' string'が 'IEnumerable ' – juharr

関連する問題