C#基础种类第三篇

序言:
完全是自家在攻读进程中著录的笔记,只可是分享一下让许多刚开始学习.net编制程序的人能够高效的学会C#语言

  1. 托管代码,非托管代码

(1) 凡是由.net生成的代码,必要CLRAV4运营的代码均为托管代码

(2) 不由CLLX570进行有限支撑的执行代码为非托管代码

  1. break和Continue的区别

 (1)举例表达:

            static void Main(string[] args)

        {

            for (int i = 0; i < 10; i++)

            {

                if (i == 2)

                {

                    //break;

                    continue;

                }

            }

        }

     注:在那边能够应用调节和测试的效果看一下构造

  1. 换到变量的做法

      int num1 = 5;

              int num2 = 10;

       (一)第二种写法(建议选拔那种分外)

              int temp = num1;

              num1 = num2;

              num2 = temp;   

       (二)第二种写法

              num1 = num1 + num2;

          num2 = num1 – num2;

          num1 = num1 – num2;

       (叁)第三种写法

              num1 = num1 | num2;

          num2 = num1 ^ num2;

          num1 = num1 ^ num2;

       (4)第三种写法(唯有依照堆栈的编写翻译起中能够执行)

              num1 = num2 + (num2 = num1) * 0;

       (五)第四种写法(使用那种写法的时候必须求确认保证三个变量都不可能为0)

              num1 = num1 * num2;

          num2 = num1 / num2;

          num1 = num1 / num2;

       Console.WriteLine(“num1={0},num2={1}”, num1, num2);

  1. 格局(方法便是复用模块)

(1) 未有参数和再次回到值的艺术

            语法:[public] void 方法的名字()

            {

                   //方法体

            }

            public static void Func()

        {

            Console.WriteLine(“小编要做网址了”);

        }

    
(二)若是是Main方法调用该方法,今后要在艺术前增进static(标有static(静态)的措施只可以一贯调用)

     (三)带有参数的格局

            语法:public static void 方法名(方法类型 参数的变量名)

            {

                   //方法体

            }

            public static void FuncReplace(int money)

        {

            if (money >= 1000)

            {

                Console.WriteLine(“可挑选的网址”);

            }

            else if (money >= 500)

            {

                Console.WriteLine(“简单的网址”);

            }

            else

            {

                Console.WriteLine(“资金干涸”);

            }

        }

     (4)带有参数具有重回值的办法

            语法:[public] static 再次回到值类型 方法名(参数类型 参数)

            {

                   //

            }

            public static int GetNum(int num)

        {

            return num * 2;

        }

            执行方式

            int res= GetNum(3);

        Console.WriteLine(res);

     (5)实现Max方法与Min方法

            class Program

            {

                   static void Main(string[] args)

                   {

                          int num1 = 12;

                          int num2 = 34;

                          int max = Max(num1, num2);

                          int min = Min(num1, num2);

                          Console.WriteLine(“较大的数字是:{0}”,max);

                          Console.WriteLine(“较小的数字是:{0}”,min);

                          Console.ReadKey();

                   }

                   public static int Max(int n1, int n2)

                   {

                          /*

                          if (n1 > n2)

                          {

                                 return n1;

                          }

                          else

                          {

                                 return n2;

                          }

                           */

                          int num = 0;

                          if (n1 > n2)

                          {

                                 num = n1;

                          }

                          else

                          {

                                 num = n2;

                          }

                          return num;

                   }

                   public static int Min(int n1, int n2)

                   {

                          return n一 > n二 ? n二 : n一;  //长富表明式

                   }

            }    

     (6)求Min和max之间的奇数的和

            class Program

            {

                   static void Main(string[] args)

                   {

                          int res = SumOdd(3, 7);

                          Console.WriteLine(res);

                          Console.ReadKey();

                   }

                   public static int SumOdd(int min, int max)

                   {

                          int res = 0;

                          for (int i= min; i <= max; i++)

                          {

                                 if (i % 2 != 0)

                                 {

                                        res += i;

                                 }

                          }

                          return res;

                   }

            }

     (七)求最大数

            class Program

            {

                   static void Main(string[] args)

                   {

                          int[] nums = { 12, 34, 54, 65, 76,454 };

                          int res = GetNUum(nums);

                          Console.WriteLine(res);

                          Console.ReadKey();

                   }

                   public static int GetNUum(int[] nums)

                   {

                          int max = 0;

                          for (int i = 0; i < nums.Length; i++)

                          {

                                 if (nums[i] > max)

                                 {

                                        max = nums[i];

                                 }

                          }

                          return max;

                          //return nums.Max();

                   }

            }

     (捌)写多少个方法,分别完结

           
1、不带参数,实现自由整数的输入,假如出现错误提醒,并连续输入,重临整数

                   int InputNum_1()

            二、带贰个参数,达成0到该数范围的整数输入

                   int InPutNum_2(int max)

            3、带四个参数,实现那三个数字之间的平头输入

                   int InPutNum_3(int min, int max)

      class Program
        {
            static void Main(string[] args)
            {
                Console.Write("请输入一个数字:");
                int num = GetInputNum(9,17);
                Console.WriteLine(num * 2);
                Console.ReadKey();
            }
            /// <summary>
            /// 完成任意int范围的数字的输入并返回
            /// </summary>
            /// <returns></returns>
            public static int GetInputNum()
            {
                return GetInputNum(int.MinValue, int.MaxValue);
            }
            /// <summary>
            /// 完成int类型数据的输入,并返回,要求输入的数字在0到给定的数字之间
            /// </summary>
            /// <param name="max">给定的数字的上限</param>
            /// <returns></returns>
            public static int GetInputNum(int max)
            {
                return GetInputNum(0, max);
            }
            /// <summary>
            /// 完成int数字的输入,要求在给定范围之间
            /// </summary>
            /// <param name="min">给定范围的下线</param>
            /// <param name="max">给定范围的上线</param>
            /// <returns></returns>
            public static int GetInputNum(int min,int max)
            {
                string str = Console.ReadLine();
                int num;
                while (true)
                {
                    try
                    {
                        num = Convert.ToInt32(str);
                        if (num > min && num < max)
                        {
                            break;
                        }
                        Console.Write("输入数字不再{0}到{1}之间,请重新输入", min,max);
                        str = Console.ReadLine();
                    }
                    catch
                    {
                        Console.Write("输入有误,请重新输入");
                        str = Console.ReadLine();
                    }
                }
                return num;
            }
        }

  

  1. 团结添加代码段

(一) 如何成立自身的代码段

    
1)工具->代码段管理器->切换来C#->复制路径在自家的电脑中用->然后能够效仿本机自带的代码段修改成多少个文件放到桌面上

(二)怎么着添加自个儿定义的代码段

     2)打开原来的界面->导入->放在自身的公文下->完毕

  1. 格局的重载

(一)
重载正是将同样连串大概完毕接近作用的不一致措施,统百分之十同叁个艺术名,方便程序员举行调用

(2)方法重载本质上是例外的方法,只可是方法名相同,那么由艺术调用时提供的参数有编译器实行机动的判定

(3)构成重载的标准

     壹)去掉方法名前的有着情节

     贰)去掉方法体

     三)去掉方法参数的参数名,留下类型名

     4)比较,能够重合的不可能整合重载

  1. 枚举正是四个个拿出去的多寡

(1) 语法:

            [public] enum 枚举名

            {

                   //枚举成员

            }

 (2)怎么样定义枚举

 (③)枚举是一个种类(*)

 (肆)怎么样注脚枚举变量

 (伍)怎么着为枚举变量赋值与利用

         public enum Direction

            {

                   东,

                   南,

                   西,

                   北

            }

            class Program

            {

                   static void Main(string[] args)

                   {

                          Direction dir = Direction.北;

                          Console.WriteLine((Direction)3);

                          Console.ReadKey();

                   }

            }

  1. 结构

(1) 语法:

            [public] struct 结构名

            {

                   //结构成员

            }

            结构成员能够是”字段”,”方法”,”构造函数”

     (二)结构得以定义方法

     (叁)结构字段假使急需外表访问必须添加public

     (4)不允许展现的概念无参构造方法

     (5)定义构造方法必须为每二个字段赋值

     (陆)提供有参构造方法后,无参构造方法如故存在

     (柒)注明结构变量的时候,能够不行使构造方法

            1)要是不使用构造方法,那么只好调用已经显得赋值的字段

            二)结构的构造方法便是为着给字段赋初值的

     (八)结构的分子分裂意有开始值,除非是static大概consit修饰的

     (九)结构得以继承自协会

     (拾)1般情状不供给面向对象特征的施用结构

     (1壹)一般景观封装少量字段的时候,使用结构

  1. Winform应用程序

(壹) 如何创设

     一)新建项目

二)拖控件(修改属性)

     3)添加风云

            因为实施某些动作而接触的主意

 (2)Winform

     1)改变界面(1般都以透过)

     二)业务逻辑

 (三)关于窗体的岗位(控制窗体的岗位)

     ①)设定窗体的StartPosition属性

 (四)鼠标移动事件

     在MouseMove事件上边写入如下代码:Text=”X=”+e.X+”,Y=”+e.Y;

 (5)窗体滚动

      

   public partial class Form1 : Form

            {

                   public Form1()

                   {

                          InitializeComponent();

                          StartPosition = FormStartPosition.Manual;

                          Location = new Point(0, 100);

                   }



                   int step = 5;

                   int dis = 1;

                   private void timer1_Tick(object sender, EventArgs e)

                   {

                          //循环实现

                          //if (Location.X > 1366)

                          //{

                          //    Location = new Point(0 - Size.Width, Location.Y);

                          //}

                          //Location = new Point(Location.X + 5, Location.Y);

                          //过去回来

                          //if (Location.X > 1366 - Size.Width || Location.X < 0)

                          //{

                          //    step = -step;

                          //}

                          //Location = new Point(Location.X + step, Location.Y);

                          //两边快,中间慢

                          //判断我的窗体距离边距多大

                          int left = Location.X;

                          int right = 1366 - Location.X - Size.Width;

                          if (Location.X > 1366 - Size.Width || Location.X < 0)

                          {

                                 step = -step;  

                          }

                          if (step > 0)

                          {

                                 //右飘

                                 dis = right / 10 == 0 ? 1 : right / 10;

                          }

                          else

                          {

                                 //左飘

                                 dis = left / 10 == 0 ? 1 : left / 10;

                          }

                          Location = new Point(Location.X + step*dis, Location.Y);

                   }

            }

  

相关文章