C#基础知识学习笔记

作者: shad0w_walker(admin) 分类: 基础知识 发布时间: 2015-11-17 18:21 ė 6 4条评论

基本上打完了今年的ACM比赛了,准备在接下来的时间里一边学算法一边学点其他的东西,先从基本的语言开始。

讲道理的话,会了C和C++,对于C#的上手是极其快的,我从准备开始学C#到写出A+B problem,之间的时间不超过30分钟。

基本上暂时用的都是在控制台运行的程序

 

1、数据类型

基本都和C++一样。

整型short、int、long

浮点数float、double、decimal

字符char、string

单个变量声明直接int a;

声明数组是这样的int[] a = new int[1000];

 

2、读入

C#蛋疼之处就在于只有读下一个字符和下一行这两种,读下一个字符int Console.Read(),读下一行string Console.ReadLine()。

如果要读一个非string类型,就要先读入一个string类型,然后把它转换成需要的类型,类型名.Parse(string),例如读入下一行的一个整型

好了, 蛋疼的来了。如果一行里有多个数据以空格分隔,那么读入就略显繁琐了。先将读入的string分隔成若干个小string然后转换,例如读入一行n个int类型的数据

 

3、输出

控制台输出用Console.Write()或者Console.WriteLine()

有两种输出方法,讲起来太麻烦,直接见c#基础(一),可以发现,用占位符的输出方法逼格还是挺高的。

另外输出格式控制见c# 控制台格式化输出小结

浮点数保留小数位C#保留小数位的方法集合

 

4、值与引用

关于C#的各种引用机制我了解的还不多,这篇文章可以作参考值类型和引用类型,栈和堆的含义

另外C#中函数默认都是值传递的,如果要传引用,应当加上ref或者out关键字

关于ref和out关键字的区别,百度一下一大堆,我的理解就是:ref的变量必须在传参前初始化并赋值,out的变量在传参后会被重新初始化

 

5、并不知道怎么归类的知识

C#里没有STL,sad

C#里有BigInteger类,使用前要添加System.Numerics的引用并using System.Numerics,具体用法见reference

对数组排序的方法Array.sort(数组名,起始index,元素数目);

 

理解非常浅薄,还在继续学习中……

本文出自shad0w_walker,转载时请注明出处及相应链接。

本文永久链接: https://www.sdwalker.com/archives/400.html

0

4条评论

  1. myths 2015年11月19日 09:29 回复

    仰慕shad0w_walker菊苣,教我c井?

    1. shad0w_walker(admin)
      shad0w_walker(admin) 2015年11月21日 00:09 回复

      丁丁你带我啊!

  2. Ivy_End 2015年11月29日 19:34 回复

    博主能够在极短的时间内写出C#的A+B Problem着实了不起。

    据我所知,C#中提供了很多用来代替STL的容器:List、LinkedList、Dictionary等。

    1. shad0w_walker(admin)
      shad0w_walker(admin) 2015年11月29日 23:13 回复

      C#有各种各样的类库。。简直学之不尽啊。。
      例如强大的这个 using Microsoft.ProjectOxford;
      2333333

发表评论

电子邮件地址不会被公开。 必填项已用*标注

返回顶部