protected void Page_Load(object sender, EventArgs e)
{
List<int> L = new List<int>();
L.Add(1);
L.Add(2);
L.Add(3);
this.Swap<int>(L, L);
} private void Swap<T>(List<T> list1, List<T> list2)
{
int count = 0;
foreach (int a in list1)
{
count += a;
}
Response.Write(count + "<br>");
}请问我能否这么用啊???如果不能这么用应该是怎么样的????
谢谢各位大侠
{
List<int> L = new List<int>();
L.Add(1);
L.Add(2);
L.Add(3);
this.Swap<int>(L, L);
} private void Swap<T>(List<T> list1, List<T> list2)
{
int count = 0;
foreach (int a in list1)
{
count += a;
}
Response.Write(count + "<br>");
}请问我能否这么用啊???如果不能这么用应该是怎么样的????
谢谢各位大侠
行 27: int count = 0;
行 28: foreach (int a in list1)
行 29: {
行 30: count += a;
1.Swap是交换的意思,但你要实现的功能不是
2.既然foreach中的变量是int型的,你用范型干嘛?List<int> L1 = new List<int>();
L1.Add(1);
L1.Add(2);
L1.Add(3);
List<int> L2 = new List<int>();
L2.Add(4);
L2.Add(5);
this.Swap<int>(ref L1, ref L2); private void Swap<T>(ref List<T> list1, ref List<T> list2)
{
List<T> list = list2;
list2 = list1;
list1 = list;
}
foreach (int a in list1)
{
count += a;
} 你这样写是不对的 编译器在编译的时候是不知道list1的元素是什么类型的 也就是"待确定类型" 必须这样写foreach (T a in list1)
{
} 但是这样写了之后 里面就不能用 count += a; 了 呵呵 你自己要在此基础上想一种新的赋值方法 相信不难~
foreach (T a in list1)
{
int i=(int)a;
count += i;
}