zoukankan      html  css  js  c++  java
  • C#基础系列第一篇

    前言: 完全是我在学习过程中记录的笔记,只不过分享一下让很多刚开始学习.net编程的人能够很快的学会C#语言

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

    (1) 凡是由.net生成的代码,需要CLR运行的代码均为托管代码

    (2) 不由CLR进行维护的执行代码为非托管代码

    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;

           (1)第一种写法(建议使用这种最好)

                  int temp = num1;

                  num1 = num2;

                  num2 = temp;   

           (2)第二种写法

                  num1 = num1 + num2;

              num2 = num1 - num2;

              num1 = num1 - num2;

           (3)第三种写法

                  num1 = num1 | num2;

              num2 = num1 ^ num2;

              num1 = num1 ^ num2;

           (4)第四种写法(只有基于堆栈的编译起中可以执行)

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

           (5)第五种写法(使用这种写法的时候必须要保证两个变量都不能为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("我要做网站了");

            }

         (2)如果是Main方法调用该方法,现在要在方法前加上static(标有static(静态)的方法只能直接调用)

         (3)带有参数的方法

                语法: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 n1 > n2 ? n2 : n1;  //三元表达式

                       }

                }    

         (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;

                       }

                }

         (7)求最大数

                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();

                       }

                }

         (8)写三个方法,分别完成

                1、不带参数,完成任意整数的输入,如果出现错误提示,并继续输入,返回整数

                       int InputNum_1()

                2、带一个参数,完成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) 如何创建自己的代码段

         1)工具->代码段管理器->切换到C#->复制路径在我的电脑中用->然后可以仿照本机自带的代码段修改成一个文件放到桌面上

    (2)如何添加自己定义的代码段

         2)打开原来的界面->导入->放在自己的文件下->完成

    1. 方法的重载

    (1) 重载就是将同一类型或者完成类似功能的不同方法,统一成同一个方法名,方便程序员进行调用

    (2)方法重载本质上是不同的方法,只不过方法名相同,那么由方法调用时提供的参数有编译器进行自动的判断

    (3)构成重载的条件

         1)去掉方法名前的所有内容

         2)去掉方法体

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

         4)比较,可以重合的不能构成重载

    1. 枚举就是一个个拿出来的数据

    (1) 语法:

                [public] enum 枚举名

                {

                       //枚举成员

                }

     (2)如何定义枚举

     (3)枚举是一个类型(*)

     (4)如何声明枚举变量

     (5)如何为枚举变量赋值与使用

             public enum Direction

                {

                       东,

                       南,

                       西,

                       北

                }

                class Program

                {

                       static void Main(string[] args)

                       {

                              Direction dir = Direction.北;

                              Console.WriteLine((Direction)3);

                              Console.ReadKey();

                       }

                }

    1. 结构

    (1) 语法:

                [public] struct 结构名

                {

                       //结构成员

                }

                结构成员可以是"字段","方法","构造函数"

         (2)结构可以定义方法

         (3)结构字段如果需要外部访问必须添加public

         (4)不允许显示的定义无参构造方法

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

         (6)提供有参构造方法后,无参构造方法依旧存在

         (7)声明结构变量的时候,可以不使用构造方法

                1)如果不使用构造方法,那么只能调用已经显示赋值的字段

                2)结构的构造方法就是为了给字段赋初值的

         (8)结构的成员不允许有初始值,除非是static或者consit修饰的

         (9)结构可以继承自结构

         (10)一般情况不需要面向对象特征的使用结构

         (11)一般情况封装少量字段的时候,使用结构

    1. Winform应用程序

    (1) 如何创建

         1)新建项目

    2)拖控件(修改属性)

         3)添加事件

                因为执行某个动作而触发的方法

     (2)Winform

         1)改变界面(一般都是通过)

         2)业务逻辑

     (3)关于窗体的位置(控制窗体的位置)

         1)设定窗体的StartPosition属性

     (4)鼠标移动事件

         在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);
    
                       }
    
                }
    

      

  • 相关阅读:
    B1031
    B1021
    B1021
    B1021
    Android 系统服务一览表
    MULTI-INTERFACE CONNECTIVITY ON ANDROID
    ConnectivityManager 确定和监控网络连接状态
    Android系统各种类型的service刨根解读
    Android Netd
    Android am 指令的使用
  • 原文地址:https://www.cnblogs.com/hanyinglong/p/2709165.html
Copyright © 2011-2022 走看看