初识 C#/.net 基础【01】
发布日期:2021-05-04 14:31:07 浏览次数:23 分类:技术文章

本文共 5286 字,大约阅读时间需要 17 分钟。

学习时间:2020年9月17日


  • 关于数据类型网上很多资料可以查看

  • public:共有的,所有的类都可以访问
  • private:私有的 当前类内部可以访问
  • protected:受保护的 当前类以及继承它的子类可以访问
  • internal:内部的 只限于本项目内访问其他的不能访问
  • protected internal:内部保护访问 只能是本项目内部或者子类访问 其他类不能访问

  • 访问级别约束
  • 父类子类访问修饰符要保持一致
  • 方法的访问修饰符要和方法参数的访问修饰符 保持一致
  • 注意:类的访问级别默认为 隐式私有 需要加上 public 才可以让外部访问

快捷键

  • 注释:Ctrl + K + C
  • 取消注释:Ctrl + K + U
  • 整理代码:Ctrl + K + D/F
  • 代码提示:Ctrl + J
  • 方法参数提示:Ctrl + shift + 空格
  • 插入代码块:Tab(按两次)【例如:出入 for 然后按两次 Tab for循环的代码块就会生成】
  • 删除当前行:Ctrl + shift + L
  • Ctrl + M + M: 隐藏或展开当前嵌套的折叠状态(M是两次哦)
  • 焦点行矩形框:Alt + 鼠标左键

  • 关于类、属性、方法
  • 可以查看 ClassYin01 类,里面有记相关录属性和方法
class ClassYin01  {
/* 属性遵循大驼峰命名法 * 如果属性中具有 get 关键字,说明可以获取该属性的值 * 如果属性中具有 set 关键字,说明可以向该属性设置值 * * 类使用关键字 new 实例化对象 * 一个类可以实例化多个对象 * 对象可以使用类定义的属性和方法 * * 静态的属性和方法通过 static 关键字修饰 * 静态的属性可以通过类型直接获取,非静态则必须通过实例化的对象获取 * * 静态方法中只能使用静态字段 * * 调用静态属性和方法,需要使用类来点属性或方法【ClassYin01.IdCard】 * * 静态类通过 static 关键字修饰 * 一般情况下类型不需要静态修饰,只有当类型中存在扩展方法时需要使用静态类 */ // 下面三个属性:Name、Age、Height public string Name {
get; set; } public int Age {
get; set; } public int Height {
get; set; } // 下面一个静态属性:IdCard public static string IdCard {
get; set;} // 下面两个方法:Eat、Run /// /// 人在吃的方法 /// public void Eat() {
MessageBox.Show(Name + "在吃"); } /// /// 人在跑的方法 /// public void Run() {
MessageBox.Show(Name + "在跑"); } // 下面静态方法:RedID /// /// 静态方法读取身份证号 /// public static void RedID() {
MessageBox.Show("身份证号为:" + IdCard); } }
  • ClassYin01属性赋值及调用其方法
// 类的实例化      ClassYin01 XiaoYin01 = new ClassYin01();      XiaoYin01.Name = "小印01";      XiaoYin01.Age = 22;      XiaoYin01.Height = 173;      ClassYin01.IdCard = "421083199800000000";      XiaoYin01.Eat();      XiaoYin01.Run();      ClassYin01.RedID();      ClassYin01 XiaoYin02 = new ClassYin01()      {
Name = "小印02", Age = 23, Height = 175 }; ClassYin01.IdCard = "421083199800000000"; XiaoYin02.Eat(); XiaoYin02.Run(); ClassYin01.RedID();

//整数类型(int)转字符串类型(String)

int i = 0;
String st = i.ToString();

// 弹窗提示【类似 Delphi 中的 ShowMessage()】

MessageBox.Show(st);

// 显示 Form1 窗体

Form1 yf1 = new Form1();
yf1.ShowDialog();


  • switch 与 if 语句的区别 【比方 i 是一个需要找包房的人,满足的条件是相对应的包房】
  • if 就相当于去饭店问服务员,某某包房有没有,有就进去吃饭,没有 else
  • switch 就相当于去饭店吃饭,服务员您有预约包房没有,没有只能在大厅(default)

switch 语句

switch (i)      {
case 1: MessageBox.Show("这是1号房!"); break; case 2: MessageBox.Show("这是2号房!"); break; case 3: MessageBox.Show("这是3号房!"); break; default: MessageBox.Show("没有包房了,只能在大厅吃饭"); break; }

数组

// 声明没有元素的数组【5是数组长度,声明长度后不可改变】      int[] ints1 = new int[5];      // 声明初始化有元素的数组      int[] ints2 = new int[] {
1, 2, 3, 4 }; // 在声明初始化有元素的数组时,也可以指定数组大小 string[] strs1 = new string[5] {
"ab", "bc", "c", "cd", "de" }; // 使用 for 循环给没有元素的数组赋值 for (int ii = 0; ii < ints1.Length; ii++) {
ints1[ii] = ii; }

/* (int)5.21 表示使用显示强制转换 C# 整形是 int32,因此使用此方法转成 int32位,不遵循四舍五入,只截取整数部分       * int.Parse(""); 只支持将 string 类型转成 int,Parse 就是把 String 类型转换成 int,char,double...等,       * 也就是 类型.Parse(string) 括号里面一定是string类型的       *        * Convert.ToInt32(4.5); 不完全遵循四舍五入,如果括号里面的需要四舍五入的数字是中间数(5),那么就返回二者中间的偶数       */      Convert.ToInt32(4.5);// 输出为4      Convert.ToInt32(4.6);// 输出为5      Convert.ToInt32(5.4);// 输出为5      Convert.ToInt32(5.5);// 输出为6

方法:【直接调用写在 Form 里面的方法】

// 调用下面的 NumAdd 方法      MessageBox.Show(NumAdd(10, 5));      /* 调用下面带 out 的方法       * 其中传递的是参数的地址,当方法中修改后,传进去的原参数因为和里面已经修改的参数地址相同,所以原参数也会同时跟着修改       * 如果被调用的方法没有给输出参数赋值,就会出现变异错误。       * out 可以调用一次方法获得多个返回值【C#7.0 要实现调用一次方法返回多个参数,建议使用元组】       * out 传进去的值,在方法里面的【必须】给传进去的重新赋值       */      string stxt = "我是默认的赋值";// 提示不需要对 stxt 赋值      MessageBox.Show(Text1(out stxt));      // 所谓的返回多个参数就是利用 out 传进去的是参数地址,传进去进行修改地址里面的内容,进而实现多参数修改,这就是上面所说的返回多参数      MessageBox.Show(Text2(stxt, out string stxt2));// 输出:我是在里面被改变了      MessageBox.Show(stxt2);// 输出:我是在里面被改变了的stxt2      /* 调用下面带 ref 的方法       * 其跟 out 一样都是引用传递,但是 ref 传进去的的参数必须先赋值,在方法里面可以给传进去的参数赋值,也可以不给它赋值       */      string stxt3 = "ref 传过去的参数必须先赋值";      MessageBox.Show(Text3(stxt, ref stxt3));// 输出:我是在里面被改变了
  • 写在Form中的方法
/* 这些三条斜杠的是为函数写注释 */    ///     /// 两个数加法加法方法    ///     /// 数字1    /// 数字2    /// 
返回两个数的和
public string NumAdd(int snum1, int snum2) {
int ssum; ssum = snum1 + snum2; return "和为:" + ssum; } /// /// out单个返回值【传进来的是参数地址进行修改里面的内容】 /// /// 传进来的参数 ///
返回的是方法里面的stxt
public string Text1(out string stxt) {
stxt = "我是在里面被改变了"; return stxt; } /// /// 所谓的多参数返回 就是传进来多个参数地址,最终返回其中一个,但是传进来的参数地址里面的内容都被修改了,所以在调用的时候直接可以得到被修改后的的参数 /// /// 传进来的stxt参数,返回的也是这个参数的修改值 /// 传进来stxt2参数地址 ///
返回的是方法里面的stxt,但是传进来的stxt2地址里面的内容也被修改了
public string Text2(string stxt, out string stxt2) {
stxt = "我是在里面被改变了"; stxt2 = "我是在里面被改变了的stxt2"; return stxt; } /// /// 带有 ref 的方法,在方法里面不修改参数的情况 /// /// 传进来的stxt参数 /// 传进来的stxt3参数地址 ///
返回的是方法里面的stxt
public string Text3(string stxt, ref string stxt3) {
stxt = "我是在里面被改变了"; return stxt; }


一点点笔记,以便以后翻阅。

上一篇:初识 C#/.net 基础【02】
下一篇:Delphi 之【Trim()、Application.MessageBox()、三层数据库修改】

发表评论

最新留言

不错!
[***.144.177.141]2025年03月21日 03时55分58秒