我应该使用var还是toArray()将System.Collections.Generic.IEnumerable <string>转换为string []

时间:2019-07-17 12:11:51

标签: c#

哪个是执行以下操作的最佳方法,为什么?

TextField(($model.stringFields.allObjects.sort(by: { ($0 as! DataField).order < ($1 as! DataField).order }).first!.value)

1 个答案:

答案 0 :(得分:1)

string[]IEnumerable<string>之间没有隐式转换。

如果您想要一个字符串数组,则应选择其中一个。

var doubleArray = Regex.Split(strValue, @"[^0-9\.]+").Where(c => c != "." && c.Trim() != "").ToArray();

string[] doubleArray = Regex.Split(strValue, @"[^0-9\.]+").Where(c => c != "." && c.Trim() != "").ToArray();

在两种情况下都要注意,.ToArray()用于枚举IEnumerable并从中获取数组。

在这两种情况下,底层类型均为string[],因为var关键字is only syntactic sugar