将C#转换为VB.NET时出错

时间:2015-07-09 09:08:59

标签: c#-4.0 vb.net-2010

任何人都可以在VB.NET中翻译以下内容吗?

// propare a few short names
ChartArea CA = chart1.ChartAreas[0];
Series S1 = chart1.Series[0];

// this would be option one:
S1.IsValueShownAsLabel = true;

// we clear any previous CustomLabels
CA.AxisY.CustomLabels.Clear();
// we create a version of our points collection which sorted  by Y-Values:
List<DataPoint> ptS = S1.Points.OrderBy(x => x.YValues[0]).ToList();

// now, for option three we add the custom labels:
for (int p = 0; p < ptS.Count; p++)
{
    CustomLabel L = new CustomLabel(ptS[p].YValues[0] - 0.5, 
                                    ptS[p].YValues[0] + 0.5,  
                                    ptS[p].YValues[0].ToString("##0.0000"), 
                                    0, LabelMarkStyle.None);
    CA.AxisY.CustomLabels.Add(L);

    // this is option two: tooltips for each point
    ptS[p].ToolTip = ptS[p].YValues[0].ToString("##0.0000");
}

这来自以下Stack Overflow问题: 在Y轴上显示Y值而不进行舍入[关闭]

我尝试了以下内容:

area1.AxisY.CustomLabels.Clear()
Dim pointSeries As List(Of DataPoint)

**Line with error:**
pointSeries = mySeriesRecord.Points.OrderBy(Function(x) x.YValues(0))

Dim len As Integer = pointSeries.Count()
For p As Integer = 0 To pointSeries.Count Step 1

    Dim L As CustomLabel
    L = New CustomLabel(pointSeries(p).YValues(0), pointSeries(p).YValues(len) + 0.5, pointSeries(p).YValues(0).ToString("##':'#0.00"), 0, LabelMarkStyle.None)

    area1.AxisY.CustomLabels.Add(L)

Next

但这不起作用。错误是:

  

OrderedEnumerable   2 [System.Web.UI.DataVisualization.Charting.DataPoint,System.Double]   无法转换为类型System.Collections.Generic.List

任何帮助都将不胜感激。

罗伯特

1 个答案:

答案 0 :(得分:0)

你尝试过这样的事吗?

Dim ptS As List(Of DataPoint) = S1.Points.OrderBy(Function(x) x.YValues(0)).ToList()

要从/从C#转换为/从VB.NET转换,您可以使用telerik的在线工具: http://converter.telerik.com/