C#/Linq高手来看看这个Cast<int>为什么会失败?
//下面的程序是把字符串数组转换为数字后再乘以2staticvoidMain(string[]args){string[]ss={"11","22","33"};//为什...
//下面的程序是把字符串数组转换为数字后再乘以2
static void Main(string[] args)
{
string[] ss = { "11", "22", "33" };
//为什么Cast无效?Cast的用法不是这样的?
var v = ss.Cast<int>().Select(x => x * 2);
foreach (int i in v)
Console.WriteLine(i);
Console.ReadLine();
} 展开
static void Main(string[] args)
{
string[] ss = { "11", "22", "33" };
//为什么Cast无效?Cast的用法不是这样的?
var v = ss.Cast<int>().Select(x => x * 2);
foreach (int i in v)
Console.WriteLine(i);
Console.ReadLine();
} 展开
2个回答
展开全部
class Program
{
static void Main(string[] args)
{
string[] ss = { "11", "22", "33" };
var v = ss.Cast<string>().Select(x => int.Parse(x) * 2);
foreach (int i in v)
{
Console.WriteLine(i);
}
}
}
或者,更简单的Linq写法
var v = ss.Select(x => int.Parse(x) * 2);
注意:Cast只能“同类型转换",或者"向上转换”即转换成基类,如object
追问
我就是在问为什么不能正确运行,没问如何实现转成int。
追答
Cast只能“同类型转换",或者"向上转换”即转换成基类,如object
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询