在 Project->Properties -> Build 设置中有一个 Conditional compilation symbols,将你要设置的宏的名称写在这个设置中就是全局的宏定义。
1、在类的头部写上#define UInt32或者在项目的环境变量定义。
2、在用到这个变量的时候,写类解决,关键在于重写隐式和显式转换。
扩展资料;
C++中宏的作用
1、使用宏定义常量
宏定义不是C/C++严格意义上的语句,所以定义后不加分号,使用define后的标示符来代替常量,当需要在程序中多次使用200这个值,比如定义数组的长度等,并且可能在以后对该值做出修改时,使用宏定义,仅需要改变宏定义所表示的值即可,而不需要到程序中去寻找哪些地方使用了200。
2、当定义局部变量时,const所定义的变量的作用域,仅限于const定义所在的函数段,而使用宏定义#define,其作用域不仅限于定义所在的函数段,而是从定义点到整个程序的结束。
参考资料:百度百科C#
c#所有变量都要声明在class内。全局变量可以用静态变量替代。
public class A
{
public static int a;
}
调用时直接用类名,A.a = 1;
宏定义:
[Flags]
enum BuyFlag : uint
{
E_BuyClick = 0,
E_SelectStock,
E_RefPrice,
E_BuyNum,
E_BuyOK_First,
E_BuyOK_Second,
E_WinStartClick,
E_WriteCMD,
E_KillTdxw,
E_CloseCMD,
E_end = 99
}
扩展资料
使用 #define 创建的符号的作用域是在其中定义该符号的文件。如以下示例所示,必须将 #define 指令放在文件顶部。
#define DEBUG
//#define TRACE
#undef TRACE
using System;
public class TestDefine
{
static void Main()
{
#if (DEBUG)
Console.WriteLine("Debugging is enabled.");
#endif
#if (TRACE)
Console.WriteLine("Tracing is enabled.");
#endif
}
}
// Output:
// Debugging is enabled.
参考资料:百度百科 #define
宏定义这个东西,主要还是取决你你要怎么使用。
C#当中,如果你希望定义一个全局变量或者说全局常量的话,那么建议使用
public static const int MAX_LENGTH;
但是如果你是定义编译选项的话,其实是可以使用#define的,比如可以定义
#define DEBUG实现宏编译
C#把宏给去掉了,如果有全局变量或者定义,我一般这样
class Global
{
static const int val1 = 10;
static const string val2 = "Hello";
}
然后就可以这样用
Global::val1 == 10 do...
Global::val2 == "hello" do...
此外如果是一些宏的辅助运算,比如max(a,b)
可以使用C#里的泛型来实现,也不如C++好使,说实在的
c#不支持宏定义,只支持编译开关。
~
#13667178846#
C#怎样定义全局变量 - ******
#南振# 直接在类里面定义全局静态变量,(不是知道是不是你想要的) 如: public class aa { public static int bb; } public class youeclass { aa.bb=... }
#13667178846#
C#中在哪里声明全局变量啊,具体位置在哪儿,我是初学者... - ******
#南振# C#中,没有“全局变量”的概念.但可以通过类的静态字段或属性来模拟C或C++中的全局变量.1)"全局变量"的定义方法:// 在MyVars类中定义两个“全局变量” public class MyVars { // Count是静态字段 public static int Count; // MaxSize是...
#13667178846#
怎样在C#中创建一个全局变量 - ******
#南振# 创建一个公有类,然后用static去修饰公有变量即可.如:public class Myclass { public static string MyStr = "我是全局变量";//....} 那么这个Myclass.MyStr 就是全局变量, 可以从任意位置进行访问.
#13667178846#
C#怎么定义全局的方法?(我也不知道该怎么形容) - ******
#南振# 你的意思是对象bm的创建和调用不在一个函数内吗?Form1_Paint和ToolStripMenuItem_Click是同一个类中定义的吗?如果是的话就可以把bm定义为该类的数据成员,这样两个方法都能引用bm对象
#13667178846#
C#全局变量的定义 - ******
#南振# public static string struct _client g_client = "";定义全局静态变量 struct _client g_client, 并设置初始值为空串
#13667178846#
vs2005 c# 语言中如何定义全局函数 - ******
#南振# 都定义成public static就行类可以只是public的 如: public class S7125 { /// <summary> /// 设置所有行的创建修改信息 /// </summary> /// <param name="dt"></param> public static void SetRows(DataTable dt) { if (dt != null) { string sDateTime = ...
#13667178846#
在C#中全局变量要定义在哪个地方??? - ******
#南振# 就定义在public 类里面啊 如果是ASP程序的话 可以用Session Application Cookie 来存储 整个程序都能获取到
#13667178846#
c++中怎样定义变量,使之在类和主函数,普通函数等都可以使用 - ******
#南振# 定义全局变量 在程序最开始的地方定义就可以了~ 有问题 请追问~
#13667178846#
C#中怎么定义全局快捷键 - ******
#南振# 可挂全局钩子Hook键盘和鼠标.但是.net也仅仅只能HOOK键盘和鼠标而已
#13667178846#
C# 全局变量的使用方法? - ******
#南振# 你在program.cs里面定义public static string position就行了引用的时候program.positon就得到了