标签:orm 更改 c语言基础 ati 十进制 委托 als 可变 组类型
namespace WelcomYou
{
class Program
{
static void Main(string[] args)
{
//定义输出文本变量
string welcomeText = "欢迎你";
//输出文本到控制台
Console.WriteLine(welcomeText);
//让控制台程序可见,直到按下任意字符为止
Console.ReadKey();
}
}
}
如上代码块,字符串
WelcomYou
,Program
,Main
,args
,welcomeText
都是标识符.
不能为C#关键字
sbyte
、short
、int
、long
byte
、ushort
、uint
、ulong
char
float
、double
decimal
bool
enum E {...}
的用户定义类型struct S {...}
的用户定义类型null
的值类型
null
的其他所有值类型的扩展object
string
class C {...}
的用户定义类型interface I {...}
的用户定义类型int[]
和 int[,]
格式为 delegate int D(...)
的用户定义类型
sbyte
:8 位,介于 -128 到 127 之间short
:16 位,介于 -32,768 到 32,767 之间int
:32 位,介于 -2,147,483,648 到 2,147,483,647 之间long
:64位,介 -2^63
到 (2^63)-1
之间byte
:8 位,介于 0 到 255 之间ushort
:16 位,介于 0 到 (2^16)-1
之间uint
:32 位,介于 0 到 (2^23)-1
之间ulong
:64 位,介于 0 到 (2^63)-1
之间float
:32 位,介于 1.5 × 10^-45
到 3.4 × 10^38
之间,7 位精度double
:64 位,介于 5.0 × 10^-324
到 1.7 × 10^308
之间,15 位精度decimal
:128 位,至少介于 -7.9 × 10^-28
到 7.9×10^28
之间,至少为 28 位精度
布尔类型用于存储布尔值false
,true
string(字符串)
是System.String
的别名(因此String
和string
是等效的),表示由零个或多个Unicode字符组成的不可变序列.可使用[]
运算符访问string
中的每个字符
string
类型具有不可变性
enum
关键字声明//定义性别枚举
enum Gender
{
//女
Female,
//男
Male
}
int
类型.用户可通过使用冒号,制定一种全新的数值类型.//性别枚举
enum Gender:byte
{
//女
Female,
//男
Male
}
Gender c = Gender.Female;
struct
关键字用于创建结构体.public struct Point
{
public int x;
public int y;
public Point(int px,int py)
{
x = px;
y = py;
}
}
Point a = new Point(10, 10);
Point b = a;
a.x = 20;
Console.WriteLine(b.x);
//如果 Point 是类,则输出 20,因为 a 和 b 引用同一对象。 如果 Point 是结构,则输出 10,因为将 a 赋值给 b 创建了值副本,而此副本不受后面对 a.x 的赋值的影响。
数据类型 变量名;
const
关键字对常量进行定义const 数据类型 常量名=与数据类型相对应的值;
常量默认是静态的,不允许显式使用static
关键字来声明
operator
class Program
{
static void Main(string[] args)
{
//初始化两个复数
Complex number1 = new Complex(1, 2);
Complex number2 = new Complex(3, 4);
//使用+运算符都两个复数进行相加
//如果复数类型中没有对+运算符进行重载,则此处将不能使用+运算符来对复数类型进行相加操作
Complex sum = number1 + number2;
//输出输入的复数和相加之后的结果
Console.WriteLine("第一个复数为{0}",number1);
Console.WriteLine("第二个复数为{0}", number2);
//二复数之和
Console.WriteLine("二复数之和为{0}", sum);
Console.Read();
}
}
/// <summary>
/// Complex属于自定义结构体
/// </summary>
public struct Complex {
//复数的实数部分
public int real;
//复数的虚数部分
public int imaginary;
//带参数的构造函数,real表示实数,imaginary表示虚数
public Complex(int real,int imaginary)
{
//初始化复数的实数和虚数
this.real = real;
this.imaginary = imaginary;
}
/// <summary>
/// +运算符重载方法
/// </summary>
/// <param name="complex1">表示第一操作数,类型必须为Complex类型</param>
/// <param name="complex2">表示第二操作数,类型必须为Complex类型</param>
/// <returns>返回Complex类型</returns>
public static Complex operator +(Complex complex1,Complex complex2)
{
//值类型都有默认无参构造函数
//通过无参构造函数进行初始化
Complex result = new Complex();
//对复数的实数和虚数赋值
result.real = complex1.real + complex2.real;
result.imaginary = complex1.imaginary + complex2.imaginary;
//返回复数相加结果
return result;
}
/// <summary>
/// 重写ToString()方法
/// </summary>
/// <returns></returns>
public override string ToString()
{
return string.Format("{0}+{1}i",real,imaginary);
}
}
//控制台输出结果
//第一个复数为:1+2i
//第一个复数为:3+4i
//两复数为:4+6i
if
语句switch
语句
while
语句do-while
语句for
语句foreach
语句
用于遍历数组或对象集合中的元素(只有实现了System.Collections.IEnumber
和System.Collections.Generic.IEnumberable<T>
接口的数组或对象集合才可以是有foreach
)
break
语句:直接退出整个循环continue
语句:立即终止本次循环,但会继续执行下一次循环goto
语句:跳出循环到已标记好的位置上return
语句:退出循环和循环所在函数
class
关键字定义类class Person
{
//类成员定义
}
internal
internal
:只能同一程序集中访问public
:同一程序或引用该程序集的其他程序集可以访问类abstract
或interna abstract
:只能在同一程序集中访问类,该类不能被实例化,只能被继承public abstract
:同一程序或引用该程序集的其他程序集中访问类,该类不能被实例化,只能被继承sealed
或internal sealed
:只能在同一程序集中访问类,该类只能被实例化,不能被继承public sealed
: abstract`:同一程序或引用该程序集的其他程序集中访问类,该类只能被实例化,不能被继承
public
:同一程序集或引用该程序集的其他程序集都可以访问private
:只能同一类中可以访问protected
:只能同一个类或派生类中可以访问internal
:只能同一程序集中可以访问protected internal
:在同一个程序集,该类和派生类中可访问public class Person
{
//私有只读字段
private redonly string name;
//公共不可变字段
public const int age =18;
}
public clas Person
{
//私有字段定义
private string name;
//公共属性定义
public string Name
{
//get访问器
get
{
return name;
}
//set 访问器
set
{
//value是隐式参数
name=value;
}
}
private int age;
//只读属性定义
public int Age
{
get
{
return age;
}
private set
{
age=value;
}
}
}
set
访问器,或get
访问器,或set
访问器为private
级别时,这样的属性被称为只读属性.当属性仅包含set
访问器,或get
访问器为private
级别时,这样的属性被称为只写属性.访问修饰符 返回值类型 方法名(方法参数)
{
....
//有返回类型的: return 返回值;
}
static
关键字声明为静态方法时调用类名.方法名();
//先实例化一个对象
类名 p=new 类名()
//再使用对象名调用方法
p.方法名();
class Person
{
private string name;
//实例构造函数
public Person()
{
name="小红";
}
//静态构造函数用于初始化类中的静态成员,不能有访问修饰符,不能有参数且只会运行一次,在创建第一个实例或引用任何静态成员之前,CLR将自动调用静态构造函数
static Person(int a )
{
}
}
public
,protected
和private
修饰符来修饰.然而不是任何一个函数都可以成为实例构造函数,实例构造函数必须满足一下两个条件
构造函数不允许有返回值
class Person
{
//析构函数
~Person()
{
Console.WriteLine("析构函数被调用");
}
}
当一个类包含数组成员时,可以使用索引器简化对类中数组成员的访问.索引器定义类似于属性,有get
与set
访问器.
-索引器定义
[修饰符] 数据类型 this[索引类型 index] { get{//返回类中数组某个元素} set{//对类中数组元素赋值} }
//实例
class Program
{
static void Main(string[] args)
{
Person p = new Person();
//通过索引器给数组赋值
p[0] = 1;
p[1] = 2;
Console.WriteLine(p[0]);
Console.WriteLine(p[1]);
Console.ReadLine();
}
}
class Person {
private int[] intarray = new int[10];
//索引器的定义
public int this[int index]
{
get { return intarray[index]; }
set { intarray[index] = value; }
}
}
//输出结果 分别为 1,2
new
类名 实例化名=new 类名();
class
关键字,结构体使用struct
关键字new
关键字,但此时结构体对象中的字段是没有初始值的;而类必须使用 new
来创建对象abstract
和sealed
关键字修饰结构体,而类可以标签:orm 更改 c语言基础 ati 十进制 委托 als 可变 组类型
原文地址:https://www.cnblogs.com/youMo/p/10348095.html