我的初体验 C#
C# 结构、注释、基本内容
首先,我们来看下(图1)分上下两部分using 引用 和namespace命名空间组成。
今天我们主要讲namespace命名空间下的代码,从图1中我们看到三个组成部分,它们的结构都是花括号{}组成语句块不需要附带分号,每个语句都用半角的分号(;)结束。
1.3.1 结构:
这些语句块用花括号{}来界定,语句块可以包含任意多行语句,或者根本不包含语句
我们通过Visual Studio工具编写代码时会有不同颜色的显示,默认情况下:
蓝色代表关键字
浅蓝色代表类名、枚举、委托
绿色代表注释内容
黑色代表符号、变量以及其他
1.3.2 注释(代码的解释,给人看的)
1.3.3 访问修饰符:
- public: 访问无限制。
- protected:访问限制为包含此成员的类内部,或者类的派生类内部。
- internal: 访问限制为当前程序集内。
- protected internal: 访问限制为当前程序集,或者类的派生类。
- private: 访问限制为类内部
1.3.4 数据类型:
1.)值类型:值类型的变量直接存储数据。
例如:基础数据类型,如bool、char、int、float等;结构类型,即struct类型;枚举类型,即enum类型
注意:值类型变量无法赋值为null,可以通过在值类型后面加上?为该变量增加可空类型,如 int? i = 0;
2.)引用类型:引用类型的变量不存储实际数据,而是存储对变量的引用。
例如:class(类)、interface(接口)、delegate(委托)、object(通用对象)、string(字符串)
注意:string与其他引用类型不同,string在堆上的数据是不可修改的,即给string变量赋新值时,程序会在堆上创建数据并更新string变量的指向,同时保留原来的数据(数据由垃圾回收机制管理)。所以,如果要使用string的引用特性,需要使用ref关键字
3.)指针类型:指针类型的变量存储数据值的内存地址,与C++中的指针有相同功能。
注意:C#为了类型安全,默认不支持指针,需要使用unsafe关键字开启不安全代码开发模式。
1.3.5 代码示例:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace ZzzZFrmApp
{
/*
* 端口
* 波特率
* 数据位
* 停止位
* 校验位
* -----多行注释
*/
/// <summary>
/// 窗体Form1类-----文档注释
/// </summary>
public partial class Form1 : Form
{
/// <summary>
/// 构造函数(无参数)
/// </summary>
public Form1()
{
InitializeComponent();
this.textBox1.IsTrue = false;
}
#region 事件
/// <summary>
/// 窗体加载事件
/// </summary>
/// <param name="sender">表示触发事件的控件对象</param>
/// <param name="e">表示事件数据的类的基类</param>
private void Form1_Load(object sender, EventArgs e)
{
//文本框赋值-----单行注释
textBox1.Text = "张三";
}
/// <summary>
/// 确定按钮时间
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button1_Click(object sender, EventArgs e)
{
string name = GetInfo("zz");
}
#endregion
#region 方法
/// <summary>
/// 获取姓名
/// </summary>
/// <param name="id">记录标识</param>
/// <returns>名称</returns>
private string GetInfo(string id )
{
//变量名
string str;
if (id == "zz")
{
str = "李四";
}
else
{
str = "王五";
}
return str;
}
#endregion
}
}