C# 静态类如何赋值,LINQ有关。

2024-12-31 14:23:16
推荐回答(4个)
回答1:

静态类不能实例化.也不能有构造函数。而且成员分函数必须是静态的。静态类的调用方法如下:
在你的任意程序里,直接调用:
静态类不能实例化
test.ID
test.Num
按照你写的,new List();这么声明是错误的。因为既然是静态类,test在第一次调用的时候已经生成了一个类test,这个类有2个静态变量,类型都是string。他们的地址都已经确定了。
如果你一定要写成静态的,可以这么写:
public static class test
{
public static List ID = new List();
public static List Num = new List();
}

调用的时候不用声明test类,直接使用类名调用,如下:
test.ID.add(数据);
test.Num.add(数据);

楼主可以试试,然后用foreach遍历test.ID和test.Num。

不知道为什么要写成静态类。一般来说,静态类都是有特殊用途的。按照你的要求,没必要写成静态类,因为没办法生成实例。

回答2:

为什么test类一定要是静态的呢?这样一来不仅不能实例化,也不能往容器里面放啊……为什么给自己出这样的难题呢?

是有什么原因呢?

__________________
补充:

如果楼主是想把这10几万条数据缓存下来,而且是想通过静态类的方式来做的话,那应该是另外单独做一个静态类,比如叫做DataCache,它有一个List类型的静态成员变量(以及对应的属性)。初始化的时候,从数据库读取数据来把这个List类型的静态成员变量进行填充。而整个系统中就可以通过这个唯一DataCache静态类来获取缓存下来的那十几万个test对象了。

但是 test 这个类还是不能是静态的。楼主可以设想一下,既然有十几万条记录,每条记录都应该对应一个test的实例,也就是说会有十几万个test的实例对象。如果test是静态类,那如何能生出这十几万个实例出来呢?

回答3:

静态类只能含有静态成员, 连构造函数都必须是静态构造函数.
你这个类没必要做成静态的, 也不应该是.

回答4:

public static class test
{
public string ID { get; set; }
public string Num { get; set; }
}

这个类编译能通过?
能问一下吗?因为我的编译器这样定义类就是错的,
到不了list哪