C#语言基本元素
C#和Java很像,根本原因就是两者所构成的基本元素有很大部分是重叠的。
种类
关键字
这两个表格就是C#的所有关键字
注:学关键字要按逻辑分组学,不要按字母表学。关键字的作用是不一样的
操作符
标识符
取的名字就叫做标识符
什么是合法的标识符:
- 开头不能用数字
- 不能使用关键字,如果非要使用关键字,前面就必须加@
- 必须以字符(包括英文大小写字符、汉语字符、等等)或者_开头
- 在开头字符后面可以跟很多东西,包括字符、汉语字符、数字、等等
- 也就是说,是可以用汉语命名的
标识符合法,意味着可以通过编译器,但并不意味着可读性很好!
大小写规范
单词全小写就很难区分,所以单词开头最好大写
驼峰法:一串单词中,第一个单词首字母小写,其余单词的首字母都大写
Pasibo法:一串单词,每个单词的首字母都大写
C#中,一般属性用驼峰法,方法名、类名那些用Pasibo法
命名规范
对类成员命名的时候,一定要命名得有意义,可以让别人读懂
- 属性一定要是名词,可以是复数
- 方法一定要是动词、动词短语
标点符号
例如:语句结尾的分号(;),还有花括号({})
文本(字面值)
整数
int x = 100;//int 能表示32位的二进制数 long y = 1000;//long是64位
实数
float a = 3.0f;//单精度不能省略f double b = 4.00;//双精度可以省略D //这两个字母可大写可小写
字符
char a = 'y';//只能引用一个字符
字符串
string s = "";//由双引号引起来的,可以是空的 string str = "yyyy";
布尔值
bool b = true; bool b2 = false;
空(Null)
string str = null;//表示string没有任何值
注释和空白
//两种注释方法 //双斜杠注释 /* 块注释 */
初识类型、变量、方法
类型
//var 关键字 编译器会自动推断x的类型 var x = 10; Console.WriteLine(x.GetType().Name);
变量
float x; x = 1.0f;
方法
namespace TalkAboutClass { internal class Program { static void Main(string[] args) { Calculator c = new Calculator(); int x = c.Add(2, 3); Console.WriteLine(x); Console.WriteLine(c.GetToday); } } class Calculator { public int Add(int a, int b) { int result = a + b; return result; } public string GetToday(){ int day = DateTime.Now.Day; return day.ToString(); } } }
算法简介
using System.ComponentModel.Design;
namespace TalkAboutClass {
internal class Program {
static void Main(string[] args) {
Calculator c = new Calculator();
//c.PrintXTo1(10);
//c.PrintYTo1(10);
//Console.WriteLine(c.AddTo100());
Console.WriteLine(c.SumFrom1ToX(100));
}
}
class Calculator {
public void PrintXTo1(int x) {
for (int i = x; i > 0; i--) {
Console.WriteLine(i);
}
}
public void PrintYTo1(int y) {
Console.WriteLine(y);
if (y > 1)
PrintYTo1(y-1);
}
//循环实现 1 加到 100
public int AddTo100() {
int result = 0;
for (int i = 1; i <= 100; i++)
{
result += i;
}
return result;
}
//递归实现1 加到 100
public int SumFrom1ToX(int x) {
if(x == 1)
return 1;
else {
int result = x + AddTo100_2(x - 1);
return result;
}
}
}
}
解决汉诺塔问题
umFrom1ToX(int x) {
if(x == 1)
return 1;
else {
int result = x + AddTo100_2(x - 1);
return result;
}
}
}
}
## 解决汉诺塔问题