Lambda表达式:从C#到VB.Net

3
我对这个声明感到困惑...可能是由于将C#转换为VB.Net进行了太多小时/天的工作,但我在这种转换中一无所获。
任何帮助都将不胜感激。
List<string> sColors = new List<string>(this.CustomPaletteValues.Split(','));
try {
   List<Color> colors = sColors.ConvertAll<Color>(s => (Color)(new ColorConverter().ConvertFromString(s)));    

我目前已经有的:

Dim colors As List(Of Color) = sColors.ConvertAll(Of Color)(....)

如您所见,我遇到了关于lambda的内容的难题。

3个回答

1
sColors.ConvertAll(Of Color)(Function(s) DirectCast(((New ColorConverter).ConvertFromString(s)), Color));

1

你可以使用隐式类型更简洁地编写它:

    Dim colors = sColors.ConvertAll(Of Color)(
        Function(s) (New ColorConverter).ConvertFromString(s))

1

抱歉换行了,但我相信这就是你想要的。

Dim colors As List(Of Color) = sColors.ConvertAll(Of Color)(
    Function(s) DirectCast((New ColorConverter).ConvertFromString(s), Color)
)

谢谢...发现这个酷炫的工具[链接](http://www.developerfusion.com/tools/)开发者融合工具箱 - GoldBishop

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接