| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 11496 人关注过本帖
标题:全局变量如何定义?
只看楼主 加入收藏
sh600700
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2006-7-13
收藏
 问题点数:0 回复次数:23 
全局变量如何定义?
各位大哥:
如何在C#里定义一个全局变量?可以在其他类使用的。
谢谢
搜索更多相关主题的帖子: 变量 全局 定义 
2006-07-19 22:13
chenjin145
Rank: 1
等 级:禁止访问
帖 子:3922
专家分:0
注 册:2006-7-12
收藏
得分:0 
c#好像沒全局變量

不過你可以專門用個類來存放靜態變量用,也是一樣的

[url=javascript:alert(1);] [div]fdgfdgfdg\" on\"[/div] [/url]
2006-07-20 09:06
noshow
Rank: 2
等 级:新手上路
威 望:4
帖 子:1127
专家分:0
注 册:2006-4-21
收藏
得分:0 
不错
C#里没有全局这一概念
全局在过去面向过程的语言比较实用
楼上的方法挺好的
你可以建一个类专门保存
用起来跟枚举一样
而且用着舒服

此号自封于2006年11月30日
2006-07-20 13:32
marer
Rank: 2
等 级:新手上路
威 望:3
帖 子:928
专家分:0
注 册:2005-7-18
收藏
得分:0 
可以定义一个类,把需要的变量做成属性就可以使用了:

public class ABC
{
private int count=0; //所需要的所谓全局变量

public int Count
{
get{return this.count;}
set{this.count=value;}
}
}

public class 人生历程 extends Thread{public void run(){while(true){努力,努力,再努力!!;Thread.sleep(0);}}}
2006-07-20 13:44
noshow
Rank: 2
等 级:新手上路
威 望:4
帖 子:1127
专家分:0
注 册:2006-4-21
收藏
得分:0 

public class ABC
{
public int count=0; //所需要的所谓全局变量

}
楼上的 如果不做成属性 直接命名为成员变量 让外部访问 应该也没问题的吧
就是不知道 这种访问方式和属性有什么区别


此号自封于2006年11月30日
2006-07-20 13:54
chenjin145
Rank: 1
等 级:禁止访问
帖 子:3922
专家分:0
注 册:2006-7-12
收藏
得分:0 

全局變量的話
public class abc
{
public static int count;

static abc()
{
初始化count
}

private abc()
{
}
}

這樣才是全局變量 上面的寫法沒有意義


[url=javascript:alert(1);] [div]fdgfdgfdg\" on\"[/div] [/url]
2006-07-20 14:15
lanyong_he
Rank: 1
等 级:新手上路
帖 子:211
专家分:0
注 册:2006-7-12
收藏
得分:0 
又学习了点东西!

http://blog./lanyong_he@126/
2006-07-20 14:18
noshow
Rank: 2
等 级:新手上路
威 望:4
帖 子:1127
专家分:0
注 册:2006-4-21
收藏
得分:0 
以下是引用chenjin145在2006-7-20 14:15:36的发言:

全局變量的話
public class abc
{
public static int count;

static abc()
{
初始化count
}

private abc()
{
}
}

這樣才是全局變量 上面的寫法沒有意義

你的意思我明白
就是说仅仅定义一个字段的话永远为0
因为没有方法的话不能改变它的值
不过我有一个疑问:
既然已经在 static abc() 这个构造函数里初始化了
那么似乎下面的那个private abc()没有什么用处啊
或者说我还没看出来有什么用处


此号自封于2006年11月30日
2006-07-20 15:41
chenjin145
Rank: 1
等 级:禁止访问
帖 子:3922
专家分:0
注 册:2006-7-12
收藏
得分:0 
重點不在那個構造函數上,我那樣寫是因為靜態構造函數無法調用實例成員

重點是在static上 全局變量的話要確保賦值後,變量能在程序運行期間保存該值
不申明為靜態的話 每次初始化都變為初值
而靜態的構造函數最多初始一次,而且無須人為初始
靜態構造函數會在第一次調用該類成員時初始

[url=javascript:alert(1);] [div]fdgfdgfdg\" on\"[/div] [/url]
2006-07-20 16:04
noshow
Rank: 2
等 级:新手上路
威 望:4
帖 子:1127
专家分:0
注 册:2006-4-21
收藏
得分:0 

我有一个问题想问
[CODE]public class abc
{
public static int count;
static abc()
{
count=10;
}
}[/CODE]
[CODE]public class abc
{
public static int count;
static abc()
{
count=10;
}
private abc()
{
}
}[/CODE]

在MAIN函数添加如下
[QUOTE]abc.count =19;
Console.WriteLine (abc.count );[/QUOTE]
结果都是19

我理解你的意思是不让count在外部被改变
请问代码如何修改能达到这个效果?
或者如果我理解错了
你的意思仅仅是在类里指定进行初始化的话
那么上2段执行效果一样说明后面的那个函数没用的
其实我刚开始以为你后面加上一个函数应该有用那

[此贴子已经被作者于2006-7-20 16:36:08编辑过]


此号自封于2006年11月30日
2006-07-20 16:27
快速回复:全局变量如何定义?
数据加载中...
 
   



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

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