今天突然对学C#有了兴趣,翻查了书籍,觉得C#真心是一种比较好的语言,外加上C#在大学的课堂都没有讲过,希望通过课外的自学可以理解理解它~~
其实可以说,接触过C、C++和java编程的人对于C#的入门其实相当之简单,不过我才学C#,没有学到深处,也不好说,但希望自己大致能够好好记住一些简单的特点~~
最简单的helloworld入门就不说了,不过下面也是一个简单的写法,使用的工具为visual studio 2012
必须引入系统的命名空间名,不过工具visual在新建项目的时候都会自动生成,所以代码就不贴了
using HelloWorld;
namespace Test
{
class MainPrograme
{
static void Main(String[] args)
{
Program p = new Program();
p.show();
}
}
}
namespace HelloWorld
{
class Program
{
public void show()
{
Console.WriteLine("必须引用命名空间HelloWorld后才可以输出,否则提示出错!");
Console.ReadLine();
}
}
}
using指令后面跟的是命名空间名,在C++里的using namespace std类似,都是为了方便引入资源
在namespace Test里如果想要使用命名空间HelloWorld里的类和方法,必须在前面声明using HelloWorld,visual工具比较好的是,当你没有使用using HelloWorld的时候,它在编程的时候你想写Program类它会自动抛出异常,避免不必要的编译工作查错。
因为C#和C等语言的使用和类型都有相似的地方,所以下面代码只对部分作展示:
namespace Third
{
enum MonthOfYeear
{
January, Feburary, March, April, May, June, July, Aguest, September, October, Novermber, December
}
class Program
{
static void Main(string[] args)
{
/*byte隐式转换,和其他语言一样*/
int x = 123;
byte y = 123;
int result = x + y;
Console.WriteLine("结果:" + result);
/*bool类型的使用*/
bool flag = false;
Console.WriteLine("请输入第一个数:");
/*Convert的强制类型转换*/
int m = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("请输入第二个数:");
int n = Convert.ToInt32(Console.ReadLine());
if (m > n)
{
flag = true;
}
else
{
flag = false;
}
Console.WriteLine("结果为:" + flag);
/*enum类型的使用*/
MonthOfYeear mon;
mon = MonthOfYeear.Aguest;
/*注意输出使用的语法*/
Console.WriteLine("本月是{0}", mon);
}
}
}
关于引用变量:
string为引用类型,但当涉及到==或!=运算的时候,比较的是string对象而不是引用的值
引用类型使用new关键字创建对象实例,并存储在堆中
引用变量还有很多的相关说明,我认为跟java的说法比较类似。
namespace Reference
{
/// <summary>
/// 引用类型的变量称为对象,可存储对实际数据的引用
/// </summary>
class Sample
{
public int i = 10;
}
class Program
{
static void Main(string[] args)
{
object o;//定义object类型的引用变量
o = 1;//赋值
Console.WriteLine("引用变量初始值:" + o);
o = new Sample();//使用new关键字实例化类,并赋值给变量
Sample s;//声明类对象
s = (Sample)o;//使用引用变量实例化对象
Console.WriteLine("引用变量的值为:" + s.i);
}
}
}
namespace Box
{
class Program
{
static void Main(string[] args)
{
/*值类型变量的值复制到装箱得到的对象中之后,改变值类型变量的值不会影响装箱对象的值*/
int i = 10;
object obj = i;//对变量i进行装箱操作
Console.WriteLine("i的值为:{0},装箱后的值为:{1}", i, obj);
i = 22;
Console.WriteLine("i的值为:{0},装箱后的值为:{1}", i, obj);
int j = (int)obj;
Console.WriteLine("拆箱后的值,装箱的值{0},拆箱的值{1}", obj, j);
/*装箱对象的值和拆箱得到的值类型数据的值相等,装箱拆箱要符合类型一致原则*/
}
}
}
暂时先写这些,这些都是看书里面学的简单案例,程序比较简单而且好入门~~~
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。