命名空间和结构体
using System; using System.Collections.Generic; using System.Linq; using System.Text; using x类和方法_19_4_9; namespace 命名空间 { class Program { static void Main(string[] args) { //namespace开头的是命名空间,是组织类的,逻辑分组,有条理的结构 //在不同的命名空间中互相引用 //步骤:1.在现有的命名空间上添加引用(解决方案资源管理器右键命名空间) //2.用using命名打开所引用的命名空间 //3.引用的格式:命名空间.类----使得不同的命名空间里,有相同名字的类 x类和方法_19_4_9.stu a = new x类和方法_19_4_9.stu(); a.print(); //停止看结果 Console.ReadLine(); } } }
结构体
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace 结构体 { class Program { //结构体与类一样,是独立的模块,放在主方法的外部--上面 //(1)结构体的关键字是struct struct stu { //(2)由于结构体没有封装性,字段一般为公有的 //学号 public string num; //快捷键:prop+tab两次:快捷键生成属性 public string Num //公共的属性 { get//读取 { return num;//读取,利用return语句返回该字段的值 } set //写入 { num = value;//写入,value是一个关键字,表示一个值 } } //姓名 private string name; public string Name { get { return this.name;//读取,利用return语句返回该字段的值 } set { this.name = value;//写入,value是一个关键字,表示一个值 } } //属性的第一好处就是封装之后在外面能够对单个字段进行读写,第二个好处就是可以加约束 //两门课 private double sql; public double Sql { get { return sql;//读取,利用return语句返回该字段的值 } set { //约束一般是对set部分写入 if (value >= 0 && value <= 100) { sql = value; } else { sql = 0;//非法成绩-------不在范围内的成绩,给0 } } } private double oracle; public double Oracle { get { return oracle;//读取,利用return语句返回该字段的值 } set { //约束一般是对set部分写入 if (value >= 0 && value <= 100) { oracle = value; } else { oracle = 0;//非法成绩-------不在范围内的成绩,给0 } } } //总分 private double sum; //平均分 private double ave; //特定功能--方法 //输出 public void print() { Console.WriteLine("\n学号:{0}", num); Console.WriteLine("姓名:{0}", name); Console.WriteLine("SQL:{0}", sql); Console.WriteLine("ORACLE:{0}", oracle); Console.WriteLine("总分:{0}", sum); Console.WriteLine("平均分:{0}", ave); } //(3)结构体没有无参数构造方法 //(4)如写有参数构造方法,则需完全赋值 public stu(string num, string name, double sql, double oracle) { //num = num;系统认为是:形参num赋值给了形参num //希望形参和属性同名--this指针--指向类本身的 num = num; name = name; sql = sql; this.oracle = oracle; sum = sql + oracle; ave = sum / 2; } } static void Main(string[] args) { //定义结构体变量并操作 stu a = new stu("X170401", "Rose", 87, 85); a.print(); //程序等待 Console.ReadLine(); } } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构