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
还是列表
?