器普.net语法V1.0发布

来源:互联网 发布:大数据技术入门 编辑:程序博客网 时间:2024/06/03 19:23
y引用 System;//using
using System.Text;
using System.Runtime.InteropServices;

m名字空间 器普关键字//namespace
d定义开始//{

unsafe j结构体 Point
{
public int x;
public int y;
}
class cPoint { public int x, y:=0; }
l类 器普关键字测试样例_让不受训练的人读懂代码_关键字是词语拼音字母开头_编译通过
d定义开始

y引入链接库开始 DllImport("kernel32") y引入链接库结束
public static extern void GetWindowsDirectory(StringBuilder WinDir, int count);

g公开的 j静态的 w无类型 主函数 ( z字符串 [s数组结束 命令参数数组 c参数结束//(),[] 后部自解释
d代码开始

z整数 k可空的 学生数量 := 10;//int? 赋值

z整数 老师数量 f赋值 学生数量 w为空另取 100;//??

f浮点数 老师平均带学生数 f赋值 ( f浮点数 z转换类型结束 老师数量 -1;//(类型转换)

z整数 特级老师数量 := 老师数量 d等于 30 s是真取 15 s是假取 20;//?:三元运算符

//异常处理,避免程序意外退出
c尝试捕捉异常
{
老师数量:=0;
老师平均带学生数 := y优先计算开始 学生数量 w为空另取 0 y优先计算结束 /老师数量;

}
b捕获到异常 ( Exception e c参数结束
{

Console f访问成员 WriteLine (e.ToString());
//p抛出异常(e);//抛出异常就会报错,否则程序不报错,但是得不到新计算结果
}
b捕捉异常之后
{

}

//判断
z字符串 特级老师情况:="";
//开关选择
k开关选择(特级老师数量)//只能匹配基本类型数据,否则用if else判断
{
p匹配 100:
特级老师情况:="特级老师太多!!";
j结束匹配;
p匹配 3:
p匹配 2:
p匹配 1:
特级老师情况:="特级老师太少!!";
j结束匹配;
q缺省:
特级老师情况:="特级老师合适";
j结束匹配;
}
r如果 (特级老师数量==30)
{
特级老师情况:="特级老师刚好";
}
f否则
r如果 (特级老师数量>30)
{
特级老师情况:="特级老师多了";
}
f否则
r如果 ((特级老师数量<30) b并且 (特级老师数量>10))
{
特级老师情况:="特级老师偏少";
}
f否则
{
特级老师情况:="特级老师少!!";
}

//循环
z字符串 命令行 c初始化 "";
r如果 t条件开始 命令参数数组 f访问成员 Length>0 t条件结束
{
x循环(z整数 索引:=0;索引 < 命令参数数组 f访问成员 Length;索引 z自加1)
{
命令行 z自加 命令参数数组[索引] j加 ",";
}
}
Console f访问成员 WriteLine ("命令行:{0}",命令行);
//数组初始化
z整数 s数组开始 s数组结束 学生数学分数 := x新建 z整数 s数组开始 s数组结束 s数组初始化开始 30,90,68,93,100 s数组初始化结束;
z整数 数学平均分;
s双精度浮点数 总分:=0;

x循环(z整数 索引:=0;索引 < 学生数学分数 f访问成员 Length;索引 z自加1)
{
总分 z自加 学生数学分数 [ 索引 s索引结束;
}
数学平均分:= (z整数 z转换类型结束 总分 / 学生数学分数 f访问成员 Length;

z整数 [ s数组结束 学生语文分数 := x新建 z整数 [ s数组结束 { 56,45,78,34,99,78 s数组初始化结束;
z整数 语文平均分;
总分 c初始化 0;
z整数 及格人数 c初始化 0;
b遍历(z整数 语文分 w位于 学生语文分数)
{

r如果 (语文分 <60) c从头再循环;//不及格不计算
及格人数 z自加1;
总分 z自加 语文分;
}
语文平均分:= (z整数 z转换类型结束 总分 / 及格人数;
Console f访问成员 WriteLine ("老师平均带学生数:{0},{1},数学平均分:{2},及格生语文平均分:{3}",老师平均带学生数,特级老师情况,数学平均分,语文平均分);//Console.WriteLine

总分 c初始化 0;
z整数 循环索引 c初始化 0;
r如果(学生数学分数 f访问成员 Length>0 t条件结束
{
z执行循环
d代码开始
r如果 (循环索引 >= 学生数学分数 f访问成员 Length) t退出循环;//确保访问存在的数组元素
总分 z自加 学生数学分数[循环索引];
循环索引 z自加1;

d代码结束
f符合条件循环(循环索引 < 学生数学分数 f访问成员 Length t条件结束;
}
数学平均分:= (z整数 z转换类型结束 总分 / 学生数学分数 f访问成员 Length;

总分 c初始化 0;
循环索引 c初始化 0;
及格人数 c初始化 0;
f符合条件循环 t条件开始 循环索引 < 学生语文分数 f访问成员 Length t条件结束
d代码开始

r如果( b不是真 (学生语文分数[循环索引] >= 60))//不及格
{
循环索引 z自加1;//不同x循环和b遍历,他们有递增因子处理,条件循环没有这行就死循环,你可以试试
c从头再循环;
}
及格人数 z自加1;
总分 z自加 学生语文分数[循环索引];
循环索引 z自加1;

d代码结束
语文平均分:= (z整数 z转换类型结束 总分 / 及格人数;
Console f访问成员 WriteLine ("老师平均带学生数:{0},{1},数学平均分:{2},及格生语文平均分:{3}",老师平均带学生数,特级老师情况,数学平均分,语文平均分);//Console.WriteLine

Point pt=new Point();
pt.x=80;
Console f访问成员 WriteLine ("pt.x:{0}",pt.x);
b不安全代码
{
int x = 10;
int z指针 pX = &x;
z指针 pX=100;
Console f访问成员 WriteLine ("*pX:{0}",z指针 pX);

int z指针 p_x := z指向地址 pt.x;
z指针 p_x = 15;
Console f访问成员 WriteLine ("*p_x:{0}",z指针 p_x);
Point z指针 ppt := z指向地址 pt;
ppt z指针指向 x = 10;
Console f访问成员 WriteLine ("ppt->x:{0}",ppt z指针指向 x);

cPoint cpt = new cPoint();
j禁止变量回收重定位 ( z整数 z指针 p = z指向地址 cpt.x )
{
z指针 p = 1;
}
}

d代码结束
d定义结束
d定义结束


器普关键字 C#关键字

c参数列表 __arglist

h获取指引 __makeref
z指引类型 __reftype
z指引取值 __refvalue

c抽象的 abstract
z转换为 as
t添加 add
j基于类 base
z真假 bool
t退出循环 break
j结束匹配 break
w无符号字节 byte
p匹配 case

b捕获到异常 catch
z字符 char
y溢出检查 checked
l类 class
c常量 const
c从头再循环 continue
s实数 decimal
q缺省 default
w委托代理 delegate
z执行循环 do
s双精度浮点数 double
f否则 else
m枚举整型 enum
s事件 event
q强制显式转换 explicit
w外部的 extern
j假 false
b捕捉异常之后 finally
j禁止变量回收重定位 fixed
f浮点数 float
x循环 for
b遍历 foreach
t跳转到 goto
f访问器读出 get
r如果 if
y隐式转换 implicit
w位于 in
z整数 int
j接口 interface
n内部的 internal
s是 is
s锁定 lock
c长整数 long
m名字空间 namespace
x新建 new
k空 null
d对象 object
c操作符重载 operator
f赋值返回 out
c覆盖重写的 override
k可变参数 params
s私有的 private
b保护的 protected
g公开的 public
z只读的 readonly
c赋值引用 ref
y移除 remove
f返回 return
y有符号字节 sbyte
m密封的 sealed
f访问器写入 set
d短整数 short
q取字节长度 sizeof
d堆栈分配内存 stackalloc
j静态的 static
z字符串 string
j结构体 struct
k开关选择 switch
z自身 this
p抛出异常 throw
z真 true
c尝试捕捉异常 try
q取类型 typeof
w无符号整数 uint
w无符号长整数 ulong
j禁止溢出检查 unchecked
b不安全代码 unsafe
w无符号短整数 ushort
y引用 using
x虚拟的 virtual
w无类型 void
y易变不优化的 volatile
f符合条件循环 while
b部分的 partial
f泛型类型约束 where

y异步的 async
d等待完成 await

//算术运算符 + - * / %
j加 plus //+
j减 minus //-
c乘 star //×
c除 div //÷
q取余 percent //%
//逻辑运算符 & | ^ ~ && || !
w位与 bitwise_and //&
w位或 bitwise_or //|
w位异或 carret //^
q取补 tilde //~

b并且 op_and //&&
h或者 op_or //||
b不是真 bang //!
//字符串连接运算符 +
l连接 plus //+

//移位运算符 << >>
z左移 op_shift_left //<<;
y右移 op_shift_right //>>
//比较运算符 == != < > <= >=
d等于 op_eq //=
b不等于 op_ne //≠ !=
x小于 op_lt //<
x小于等于 op_le //≤ <=
d大于 op_gt //>
d大于等于 op_ge //≥ >=

//赋值运算符 = += -= *= /= %= |= ^= <<= >>=
f赋值 assign //= 新增赋值:=
c初始化 assign //= 新增赋值:=
z自加 op_add_assign //;+=
z自减 op_sub_assign //;-=
z自乘 op_mult_assign //;*=
z自除 op_div_assign //; /=
z自取余 op_mod_assign //;%=

z自位与 op_and_assign //;&=
z自位或 op_or_assign //;|=
z自位异或",token.op_xor_assign //^=

z自左移 op_shift_left_assign //<<=
z自右移 op_shift_right_assign //>>=

//增量和减量运算符 ++ --
z自加1 op_inc //++
z自减1 op_dec //--

//成员访问运算符(用于对象和结构) .
f访问成员 dot // .

d代码开始 open_brace //{
d代码结束 close_brace //}
d定义开始 open_brace //{
d定义结束 close_brace //}

s数组初始化开始 open_brace // {
s数组初始化结束 close_brace // }

d大括号开始 open_brace //{
d大括号结束 close_brace //}

//索引运算符(用于数组和索引器) []
s数组开始 open_bracket // [
s数组结束 close_bracket // ]

s索引开始 open_bracket // [ //无效
s索引结束 close_bracket // ]

y引入链接库开始 open_bracket // [
y引入链接库结束 close_bracket // ]

z指定属性开始 open_bracket // [
z指定属性结束 close_bracket // ]

z中括号开始 open_bracket // [
z中括号结束 close_bracket // ]


//数据类型转换运算符 ()
c参数开始 open_parens // (
c参数结束 close_parens // )

z转换类型开始 open_parens // ( //无效
z转换类型结束 close_parens // )

y优先计算开始 open_parens // (
y优先计算结束 close_parens // )

t条件开始 open_parens // (
t条件结束 close_parens // )

x小括号开始 open_parens // (
x小括号结束 close_parens // )

//条件运算符(三元运算符) ?:
s是真取 interr // ?
s是假取 colon // :

k可空的 interr_nullable //int?
//空接合运算符 ??
w为空另取 op_coalescing //??

//委托连接和删除运算符 + -
//对象创建运算符 new
//类型信息运算符 sizeof(只用于不安全的代码) is as typeof
//溢出异常控制运算符 checked unchecked
//间接寻址运算符 * -> &(只用于不安全的代码) []
z指针 star //*
z指针指向 op_ptr //->
z指向地址 bitwise_and //&

//命名空间别名限定符 ::
m名字空间内 double_colon //::

0 0