日期:2014-05-19  浏览次数:20795 次

初学c#,问个基础问题。
1。我想开始学习一下书上的基于控制台的小程序,即在命令行窗口运行的程序。是不是也要建立一个解决方案呀,然后建个项目才行呀。
难道为了运行几行代码也要建立一个项目吗?
2。一个helloworld的小程序,问几个不明白的地方:源码如下:
using   System;

namespace   HelloWorld
{
///   <summary>
///   Class1   的摘要说明。
///   </summary>
class   Class1
{
///   <summary>
///   应用程序的主入口点。
///   </summary>
[STAThread]
static   void   Main(string[]   args)
{
//
//   TODO:   在此处添加代码以启动应用程序
Console.WriteLine( "hello   world! ");
Console.Read();

//
}
}
}

问:namespace   是什么意思?helloworld是程序的主函数名吗?
为何用namespace呀,是什么意思?

Main()函数里面的参数是系统自动加的,是什么意思?

------解决方案--------------------
namespace是 "命名空间 ". helloworld是命名空间的名字.
比如
namespace a
{
class yy
{}

class zz
{}
}

namespace b
{
calss xx
{}

class zz
{}
}
a和b两个命名空间, 里面都有个zz类. 在引用这两个类时, 可以用a.zz和b.zz, 这样就区分了同名的类.

Main()和C语言中的main()函数功能差不多,都可以做程序运行入口。
一般在类中都可以加Main(),比如你当前项目中有5个类,每个类中都手工放一个Main(),如果你想让哪个类中的Main()做启动函数,可在项目属性(“项目”菜单/“XXX属性”)窗口中设置启动对象。
------解决方案--------------------
1 必须建立一个项目这个当然的了

2 namespace命名空间 在多人或者多团队开发时大家都用自己的命名空间来管理 以便解决方法名等等的重名冲突问题 可以把它想象为windows的文件夹 那么在同一个文件夹下 不能出现同明的东西 但是分开在不同的文件夹中 大家各自相安无事了

3 string[] args 启动参数 如果需要给main函数传值时 可以在args中取得相应参数
------解决方案--------------------
1是的

2

namespace是类归属的分类
通俗点讲相当于人的地址,通过你所在的省、市、路、门牌号,再加上你的名字,就能找到你
可以与与你同名同姓的人区分

Main()函数是程序的入口点,从这个函数开始整个程序的运行
------解决方案--------------------
Main()函数的参数就是应用程序的传入参数
------解决方案--------------------
如果想在vs2005环境下编译调试肯定要建立一个项目。
对于小的控制台程序完全可以用记事本写一个代码文件用 csc 在命令行下编译。
------解决方案--------------------
csc.exe是c#的编译程序,vs也是调用这个程序编译项目的。 这个程序在/windows/dotNet/或者/windows/system32/dotNet/ 下的某个地方,我记不是很清楚了.