未来阶段我还需要做到的事情,今日2026年的6月30日,到明年6月份,也就是一年整时间去提升自己:
--天下英雄如同过江之鲫,人中龙凤尚且举步维艰,我等虽为鱼目但也要乘风破浪,逆流而上.
--兵家必争之地,吾剑也未尝不利.
三月中旬报名,四月中旬笔试考试.,也就是还有10个月时间,我大概需要花费6个月去准备.
用碎片化时间大概两个月去备考.
做两个用于实习的demo去投实习,花费一个半月左右.在进行为期三个月的实习,如果可以,提前拿到盖章.
之前没报是我的遗憾,准备两个月时间去报考.
这两个计划我决定放弃,原因很简单:没有加分政策对我的考编帮助不大,也不能转编那就更没有意义了.
【第一战:2026年 11月】 ➔ 国考(国家公务员)全当一次真实模拟. │ 【第二战:2027年 2月/3月】 ➔ 四川省考(省内公务员) │ 【第三战:2027年 4月/5月】 ➔ 四川上半年事业单位联考(毕业前考编) │ 【第四战:2027年 10月/11月】➔ 四川下半年事业单位联考(毕业后考编,仍算应届生)
一般作为工具,比如 最熟悉的console就是一个静态类

没修饰符没参数,只会调用一次.
public Text() { Console.WriteLine( "普通构造"); } static Text() { Console.WriteLine("静态构造"); } }
这可不是重载构造,一个是普通构造,一个是静态构造.静态构造只会在第一次使用类的时候调用

class Text { public static float Pi; } internal class Program { static void Main(string[] args) { Console.WriteLine(Text.Pi); } }

在程序刚运行的时候就会开辟一个单独的空间:静态区域.这个区域不属于堆和栈,程序运行结束就会自动释放.
对比一下,非静态成员或者方法需要分配内存空间,即Text text =new Text()

class Text { public static float Pi; public void Text1() { } public static void Text2() { } } internal class Program { static void Main(string[] args) { } public void TextFun() { Text.Text2(); } } 相当于在一个短生命周期的里面调用长生命周期的.
就像这样:

常用的数学方法就可以用静态方法.
当然不能,会占用很多的内存空间,比如32G的只剩一个G,我们new新的对象就会频繁触发GC,影响性能.更严重会程序崩溃.


{ public static Text t = new Text(); } internal class Program { static void Main(string[] args) { Text.t = null; } } 看似这样可以了,但我依旧可以在外面改他 Text.t = null;
我们应该想到可以用属性来做到,但不能用非静态的属性,因为非静态的属性外面依旧要new
class Text { public static Text t = new Text(); public Text T { get { return t; } set { t = value; } } }
我们不妨把属性也设置成静态的这样,在外面直接点出来
class Text { public static Text t = new Text(); public int textInt = 10; public static Text T { get { return t; } set { t = value; } } } internal class Program { static void Main(string[] args) { Console.WriteLine(Text.T.textInt); } }
回顾:

概念:


class Person { private Person[] friends; public Person this[int index] { get { return friends[index]; } set { friends[index] = value; } } }
索引器看起来很像一个名叫this的函数,但后面是[],里面就像成员属性.
还记得概念说的可以像数组一样访问吗
Person p = new Person(); p[0]=new Person(); //使用set语句块. Console.WriteLine(p[0]); //使用get语句块
前情回顾:
成员属性:

访问修饰符 属性类型 属性名 { get{}; set{}; }
举个例子:
class Person { private int age; private string name; private bool sex;//三个我都用private修饰,外部不能访问. public string Name { get { //意味着这个属性可以获取的内容. //可以在返回之前添加一些逻辑规则. return name; //通过属性Name,我就可以访问成员变量name, } set { //可以在设置之前添加一些逻辑规则. name = value;//value关键字表示外部传入的值 } } }