2016-11-11 6 views
-3

私のトークンリストを文字列のリストに変換しようとしています。IEnumerable <foo>のリストをリストに変換する<string>

ここで私のクラスのトークンがあります:私は追加すると...私は、文字列のリストに元の文字列を分割して、私のパーサーの他のクールなものを行うには、そのリストを使用しているんたい

internal class Token 
{ 
    private TokenType Type { get; set; } 
    private string Value { get; set; } 
    private int Index { get; set; } 

    public enum TokenType 
    { 
     Verb, 
     Word, 
     Adjective 
    } 

    public IEnumerable<Token> Tokenizer(string source) 
    { 
     var token = source.Split().ToList(); 
     return token; 
    } 
} 

何 このコードの行、それは「私はそれを変換するにはどうすればよい。IEnumerable<Token>List<string>から変換できませんと言われます?

var token = source.Split().ToList(); 
+1

ソース文字列とは何ですか? JSON? ToStringオーバーライド? XML?等 – TheLethalCoder

+3

あなたの質問の本文はあなたのタイトルと一致していないようです。現時点であなたが達成しようとしていることを理解することは本当に難しいです。 –

+0

ああ申し訳ありませんが、Tokenizerのパラメータです。これはConsole.ReadLineで読み取ることができる文字列です。 – Maxwell

答えて

2

エラーメッセージは、それが言う正確に何を意味している。

public IEnumerable<Token> Tokenizer(string source) 

戻りIEnumerable<Token>入力が、

var token = source.Split().ToList(); 

List<string>です。 List<string>List<Token>の間の変換はありません(つまり、stringTokenの間)。あなたはまた、stringを入力取り、それをTokenを初期化するコンストラクタを記述する必要があります

var token = source.Split().Select(item => new Token(item)).ToList(); 

はあなたのような何かをする必要があります。

Tokenizerメソッドstaticを使用して、既存のTokenインスタンスを使用する必要がないようにすることもできます。

+1

まさに私が必要としていたもの、あなたよりもずっと... – Maxwell

関連する問題