初学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/ 下的某个地方,我记不是很清楚了.