C# 如何从IList获取浮点[]<;浮动>;使用xamarin android?

C# 如何从IList获取浮点[]<;浮动>;使用xamarin android?,c#,floating-point,xamarin.android,C#,Floating Point,Xamarin.android,我想要一个来自IList的float[]。例如,如果我有 var floats = new[] { 1.0f, 2.0f, 3.5f }; 值是一个IList,我想写: floats=(float[]) values; 我有一个例外,说这个演员没有被授权。如何解决该问题?我想您正在寻找: var floats = new[] { 1f, 2f, 3f }; var list = floats.ToList(); var newFloatsArray = list.ToArray<

我想要一个来自
IList
的float[]。例如,如果我有

    var floats = new[] { 1.0f, 2.0f, 3.5f };
值是一个
IList
,我想写:

floats=(float[]) values;

我有一个例外,说这个演员没有被授权。如何解决该问题?

我想您正在寻找:

var floats = new[] { 1f, 2f, 3f };
var list = floats.ToList();
var newFloatsArray = list.ToArray<float>();
var floats=new[]{1f,2f,3f};
var list=floats.ToList();
var newFloatsArray=list.ToArray();

我认为您正在寻找:

var floats = new[] { 1f, 2f, 3f };
var list = floats.ToList();
var newFloatsArray = list.ToArray<float>();
var floats=new[]{1f,2f,3f};
var list=floats.ToList();
var newFloatsArray=list.ToArray();

因此,除非
值的基本类型是
浮点[]
,否则此转换将失败

根据提供的证据,我假设您有其他具体类型,可能是存储在
值中的
列表

即使这两个实现接口
IList
List
是一个不同的实现,并不继承自
float[]
。演员阵容失败了

以更自然的方式思考问题:假设您拥有
IAnimal
界面,以及
Human
furtfly
实现。说
IAnimal human=new human()
,然后说
果蝇b=(果蝇)human
是没有意义的。这就是您当前正在尝试的操作

因此,您需要将
IList
转换为数组。您可以通过包括
System.Linq
来实现这一点:

using System.Linq; //at top of file
使用扩展方法:

floats = values.ToArray();

因此,除非
值的基本类型
float[]
,否则此转换将失败

根据提供的证据,我假设您有其他具体类型,可能是存储在
值中的
列表

即使这两个实现接口
IList
List
是一个不同的实现,并不继承自
float[]
。演员阵容失败了

以更自然的方式思考问题:假设您拥有
IAnimal
界面,以及
Human
furtfly
实现。说
IAnimal human=new human()
,然后说
果蝇b=(果蝇)human
是没有意义的。这就是您当前正在尝试的操作

因此,您需要将
IList
转换为数组。您可以通过包括
System.Linq
来实现这一点:

using System.Linq; //at top of file
使用扩展方法:

floats = values.ToArray();

也许有帮助。您的问题有些不清楚,但是从IList创建数组可以使用:
list.ToArray()
它真的是
IList
还是
list
?也许有帮助。您的问题有些不清楚,但是从IList创建数组可以使用:
list.ToArray()
它真的是
IList
还是
列表