Convert a list of IEnumerable<foo> to List<string&g
本文关键字:lt to List string gt foo IEnumerable list Convert of | 更新日期: 2023-09-27 18:17:24
我正在尝试将我的Token列表转换为字符串列表。
这是我的类Token:
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;
}
}
我想做的是将源字符串分割成一个字符串列表,然后使用这个列表为我的解析器做其他很酷的事情…当我添加这行代码时,它告诉我"不能从List<string>
转换为IEnumerable<Token>
。"我如何转换它?
var token = source.Split().ToList();
错误信息的含义与它所说的完全一致。
public IEnumerable<Token> Tokenizer(string source)
返回类型IEnumerable<Token>
,但是
var token = source.Split().ToList();
的类型为List<string>
。在List<string>
和List<Token>
之间没有转换(或者,在string
和Token
之间)。
你需要这样做:
var token = source.Split().Select(item => new Token(item)).ToList();
您还需要编写一个构造函数,该构造函数接受string
类型,并用它初始化Token
。
您还可以考虑将Tokenizer
方法设置为static
,这样您就不需要有一个现有的Token
实例来使用它。