如何将字符串系统集合转换为int?

时间:2013-04-12 06:47:17

标签: c# mysql database charts

我有一个Windows窗体图表,它检索mysql数据库中的x值并将其绘制在条形图上。这是我第一次这样做,所以我真的不知道为什么我会收到这个错误。

public void loadChart()
    {
        string conn = "server=localhost;user=root;password='';database=cashieringdb;";
        string cmdstring = "SELECT sum FROM salessum";
        MySqlDataAdapter adapter = new MySqlDataAdapter(cmdstring, conn);
        DataTable dt = new DataTable();
        adapter.Fill(dt);
        chart1.DataSource = dt;
        this.chart1.Palette = ChartColorPalette.SeaGreen;
        this.chart1.Titles.Add("Daily Record");
        int[] pointsArray = a.mysqlSelect("select sum from salessum"); // error in this line
        string[] seriesArray = { "Mon", "Tue", "Wed", "Th", "Fri" };

        for (int i = 0; i < seriesArray.Length; i++)
        {
            Series series =this.chart1.Series.Add(seriesArray[i]);
            series.Points.Add(pointsArray[i]);
        }

以下是错误显示:无论在互联网上搜索解决方案的时间有多长,但我仍然无法正常工作。或者有没有简单的方法从数据库中检索数据并将其绘制在Windows窗体图表上?

Error   2   Cannot implicitly convert type 'System.Collections.Generic.List<string>[]' to 'int[]'

修改

我将代码更改为:

 List<string>[] pointsArray = a.mysqlSelect("select sum from salessum"); //no error

此行错误:

 series.Points.Add(pointsArray[i]); 

1 个答案:

答案 0 :(得分:0)

发生此错误是因为您要将List转换为int []。你不能隐含地这样做,你必须明确地这样做。您可以使用Linq轻松完成此操作。

我假设a.mysqlSelect("select sum from salessum");是方法调用。并输出一个字符串列表(每个字符串代表一个数字

像这样:

int[] pointsArray = a.mysqlSelect("select sum from salessum").Select(i => int.Parse(i)).ToArray();

link也会对您有所帮助。

编辑: 看看我之前添加的LINK,了解您将要完成的任务。 :)

在此代码中,

series.Points.Add(pointsArray[i]);

Points.Add方法不期望它期望int的字符串。你之前尝试做的是正确的。所以点数组必须是int[]。 我的意思是这段代码:

int[] pointsArray = a.mysqlSelect("select sum from salessum");

我想我找到了你想要完成的完全相同的事情。请看一下这个LINK。这会对你有所帮助。

相关问题