我有一个一个ArrayList数组 两个元素 是从SQL05数据库中提取出来的 分别存放的是两个数字 我怎么样给这两个元素做差 得到这两个数字的差?比如 ArrayList a=new ArrayList();
a.Add("3");
a.Add("5");
int b=a[1]-a[0];//这样写不会得到我要的2吧 应该怎么做差?
a.Add("3");
a.Add("5");
int b=a[1]-a[0];//这样写不会得到我要的2吧 应该怎么做差?
解决方案 »
- WinForm中 如何打开Word文档
- propertyGrid 中,如何根据1,0显示true ,false
- 求一个多线程的例子
- ★★★为什么绝大多数系统的用户名和密码不支持中文?★★★
- 初学!如何用C#语言实现sql数据库的表导出到文本文件中
- 点右上角的关闭,但是进程还是在,请问如何彻底关闭呀?
- 一个初级的数据库删除数据问题
- 反编译的软件修改部分代码后重新生成安装文件安装后出现混合模式程序集错误
- “思归”在吗?能把DataGridTextBox的源码写出来看一下吗?
- 哪里有可用的基于.Net的O/R映射框架
- 难道CSDN真的没高手?很少提问的,但一提个自定义控件的问题怎么就没人回答呢?
- c# 执行语句,至少一个参数没有被指定值
int b=Convert.ToInt32(a[1])-Convert.ToInt32(a[0]);
num.Add(3);
num.Add(5);
int b=num(1)-num(0)
你可以用Convert.ToInt32(你的变量)转换
也可以用Int32.Parse(string)来转换
List <int> num = new List <int>();
num.Add(System.Convert.ToInt32("3"));
num.Add(System.Convert.ToInt32("5"));
int b=num(1)-num(0)
* Created by SharpDevelop.
* User: swb1
* Date: 2008-8-3
* Time: 13:22
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.Collections;namespace ConsoleDemo
{
class Program
{
public static void Main(string[] args)
{
Console.WriteLine("Hello World!");
// TODO: Implement Functionality Here
ArrayList a=new ArrayList();
a.Add("3");
a.Add("5");
int b=0;
try
{
b=Convert.ToInt32 (a[1])-Convert.ToInt32 (a[0]);
}catch{
Console.WriteLine("数据类型错误,数组存储了数字类型之外的数据");
Console.Write("Press any key to continue . . . ");
return;
}Console.WriteLine(string.Format("{0} - {1} result is {2}",a[0],a[1],b));
Console.Write("Press any key to continue . . . ");
Console.ReadLine();
}
}
}
下面的这个是泛型的集合,/*
* Created by SharpDevelop.
* User: swb1
* Date: 2008-8-3
* Time: 13:22
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using System.Collections.Generic;namespace ConsoleDemo
{
class Program
{
public static void Main(string[] args)
{
Console.WriteLine("Hello World!");
// TODO: Ilement Functionality Here
List<int> a=new List<int>();
a.Add(3);
a.Add(5);
int b=0;
try
{
b=a[1]-a[0];
}catch{
Console.WriteLine("数据类型错误,数组存储了数字类型之外的数据");
Console.Write("Press any key to continue . . . ");
return;
}Console.WriteLine(string.Format("{0} - {1} result is {2}",a[0],a[1],b));
Console.Write("Press any key to continue . . . ");
Console.ReadLine();
}
}
}
泛型. 这样说明吧. ArrayList list = new ArrayList();
这是一个集合. 这里我们定义两个不同类型的变量
String Name = "123 ";
Int64 Score = 100; list.Add(Name); -- 保存进入String Name 变量
list.Add(Score); -- 保存进入 Int64 Score 变量 注意这里所有类型的都可以往里放 现在我们把变量取出来 放入另外一个变量中.
String sName = list[0].ToString();
Int64 xScore = (int)list[1]; 这就取出来了两个变量, 我们注意到这里取出两个变量都需要转换类型, 因为保存到集合里都是Object类型的.
如果换作泛型 List <String> list = new List <String> (); -- 这里定义了一个可以存放String 类型的泛型 我们在存数据的时候 list.Add(Name) -- 存入String 类型的数据. 可以执行.
list.Add(Score) -- 存入 Int64 类型的数据. 注意,这里编译器会报错. 通过添加数据我们发现, 泛型不能添加它所制定类型意外的数据类型.
也就是说在一定程度上避免了数据混乱. 但是有利也有弊. 下面我们来取出数据. String sName = list[0]; -- 和集合不同, 虽然它也是object 类型, 但是取出时不用拆箱. 也就是不用转换类型.
通过以上实例说明.
集合和泛型都可以存入不限量的数据.
但是集合可以存入所有类型的数据,泛型只可以存入于之对应的程序.
集合取出数据需要拆箱,而泛型不需要. 泛型作为微软大力推荐的一个新技术, 其实是保证了我们使用当中可能造成的数据混乱的出错率.
其次泛型还是和HashTable类似的 Dictionary <K,V> 也是这样的区别..
回答完毕.
change into here:
int b= convert.Toint32(a[1]) - convert.toint32(a[0]);
看我帖子说的好不好 传进去的值是从SQL05中取出来的 那个值就是string类型我有什么办法?