| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 420 人关注过本帖
标题:帮忙看下这问题该怎么改?
只看楼主 加入收藏
BlizzardKen
Rank: 1
来 自:广西桂林
等 级:新手上路
帖 子:36
专家分:0
注 册:2011-4-26
结帖率:33.33%
收藏
已结贴  问题点数:20 回复次数:7 
帮忙看下这问题该怎么改?
帮忙看下这个:
int n, m, temp;
            string str = this.textBox2.Text.ToString();
            string str1 = string.Empty;
            string[] array1 = str.Split(' ');
            int count = str.Length;
            int[] array2=new int[count];
            for (int i = 0; i < count; i++)
            {
                array2[i] =Convert.ToInt32(array1);
            }
            for (m = 0; m < count; m++)
            {
                for (n = m - 1; n >= 0; n--)
                {
                    if (array2[n] > array2[m])
                    {
                        temp = array2[n];
                        array2[n] = array2[m];
                        array2[m] = temp;
                    }
                }
            }
            for (int k = 0; k < count; k++)
            {
                textBox3.Text = str1 + array2[k].ToString();
            }
在调试的时候在这一句:array2[i] =Convert.ToInt32(array1);
出现无法将类型为:system.string[]:的对象强制转换为类型"system.iconvertible"。
该怎么改?
搜索更多相关主题的帖子: count 
2012-05-19 12:27
hellovfp
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:禁止访问
威 望:30
帖 子:2976
专家分:7697
注 册:2009-7-21
收藏
得分:0 
试试:array2[i] =Convert.ToInt32(array1[i]);

我们都在路上。。。。。
2012-05-19 12:57
BlizzardKen
Rank: 1
来 自:广西桂林
等 级:新手上路
帖 子:36
专家分:0
注 册:2011-4-26
收藏
得分:0 
回复 2楼 hellovfp
如果改成这你说的这样就会提示:字符串格式不正确
2012-05-19 13:12
hellovfp
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:禁止访问
威 望:30
帖 子:2976
专家分:7697
注 册:2009-7-21
收藏
得分:0 
手头没有现在的C#,难着高版本的C#语法又变了?
你的C#问题可以发到C#区去问吧,这里是C区。

我们都在路上。。。。。
2012-05-19 14:00
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:10 
他的count值就不对,应该置成array1.Length,str.Length是原字符串的长度包括空格

重剑无锋,大巧不工
2012-05-19 14:07
hellovfp
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:禁止访问
威 望:30
帖 子:2976
专家分:7697
注 册:2009-7-21
收藏
得分:0 
B版手头正好有现成的C#。。。
改了就正确了?

我们都在路上。。。。。
2012-05-19 14:20
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:0 
现在手头没C#,只是看他的代码意图。输出部分也不对。他应该是想输出排序后的数组,但字符串不是这么连接的。

重剑无锋,大巧不工
2012-05-19 14:45
hellovfp
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:禁止访问
威 望:30
帖 子:2976
专家分:7697
注 册:2009-7-21
收藏
得分:10 
偶汗,在C#里搞了一下,是Convert.ToInt32()对于非数字输入抛出的异常。
运行的时候调试窗口很明白的显示出这个错误的原因和变量当前值。多仔细看看吧。

解决办法:法一:用try catch,不知道你学过没有。将Covert那句包起来。
法二:string str = this.textBox2.Text;后,先用str.Trim();去首尾空格。
然后遍历str中的每个字母,去掉不符合要求的非数字+空格的数据,或是提示错误清空textbox返回。

我们都在路上。。。。。
2012-05-20 10:10
快速回复:帮忙看下这问题该怎么改?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024348 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved