• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C#类编译命令行以及变量作用域的研究

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

以简单的小程序为例说明:

public class Program 
{
void Main(string[] args)
{
Console.WriteLine("Welcome, Miracle He");
Console.ReadLine();
}
}

我们可以使用以下的命令行对以上程序进行编译:

csc Welcome.cs: 输出Welcome.exe
csc /t:library Welcome.cs: 输出Welcome.dll
csc /out:My.exe Welcome.cs: 输出My.exe
csc /t:library /out:Welcome.debug.exe /warn:0 /nologo /debug *.cs: 输出Welcome的调试版本(不带警告和徽标)
csc /t:library /out:Welcome.xyz *.cs: 输出Welcome.xyz的dll文件

注:csc.exe位于C:\Windows\Microsoft.NET\Framework\版本号,需要说明的是:VS.Net编译器只识别你的文件名,而非类名,也即你的文件名与类名可以不一致,且同一个文件中可定义多个类。但建议文件名与类名一致,且最好只包含一个类

对C#变量作用域的研究

1. 变量声明时必须赋值,同时var可以自动辨型,但局部变量不能使用var声明,可在同一行声明多个变量。

int i = 0, age = 28; 
var i = 0, age = 28;//与上等同
public abstract void Write(string name);

2. 变量只在包含它的区域(即{}之间)有效,只能在声明之后使用;而类的字段可以在使用后再声明。

public class Test
{
public void MethodA()
{
int n = 0;//n只在此方法中有效
Console.WriteLine(str);//输出test
}
public void MethodB()
{
n = 1;//此时n已失效
}
string str = "test";//字段可先使用后声明
}

3. 字段和局部变量冲突时,局部变量将覆盖字段的值,如要使用该字段的值,则可以采用static或this进行获取。

public class Test 
{
static int x = 5;
public static void TestStatic()
{
int x = 10;
Console.WriteLine(x);//输出10
Console.WriteLine(Test.x);//输出5
}
string y = "test";
public void TestInstance()
{
string y = "test1";
Console.WriteLine(y);//输出test1
Console.WriteLine(this.y);//输出test
}
}

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C#实现类似qq的屏幕截图程序发布时间:2022-07-14
下一篇:
C# 合并多种格式文件为PDF发布时间:2022-07-14
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap