• 我学到的C#——基础


    习惯了利用Matlab、Bash等面向过程的语言直接对数据或文件操作。由于工作需要,要用到C#语言,什么循环判断以及其它的技术细节都容易理解,但对其面向对象的机制及程序结构比较茫然。网上查了一些资料,有了一个初步的理解,写了一个简单的联系程序,记录如下。

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    namespace ConsoleApplication1
    {
      /*********************************************************************************/
        public struct myColor
            //一个结构体
        {
            public int red;
            public int green;
            public int blue;
        }
        /***************************************************************************/
        public enum manOrWoman {man,woman} //一个枚举
    /********************************************************************************/
        public class Program
        {
            static void Main(string[] args)
                /*Main方法是程序的入口点,C#中必须包含一个Main方法,在该方法中可以创建对象和调用其他方法,
                 一个C#程序中只能有一个Main方法,并且在C#中所有的Main方法都是静态的。
                 * Main方法必须是类或者结构的静态方法,并且其返回类型必须是int或void*/
                // public:说明Main方法是共用的,在类的外面可以调用整个方法。
                /*static:说明方法是一个静态方法,即这个方法属于类的本身而不是这个类的特定对象。
                 * 调用静态方法不能使用类的实例化对象,必须使用类名来调用。*/
                // void:此修饰符说明方法无返回值。
            {
                myColor m; //结构的实例化不用new算符
                m.blue=100;
                m.green=100;
                m.red=100;
                Console.WriteLine("第一个结构体" + Convert.ToString(m.blue));

                manOrWoman sex = manOrWoman.man; //枚举的实例
                switch (sex)
                {
                    case manOrWoman.man:
                        Console.WriteLine("第一个枚举.{0}",sex);
                        break;
                    case manOrWoman.woman:
                        Console.WriteLine("第一个枚举.{0}", sex);
                        break;
                }
                                     
                people ren = new people(); //类的实例,后面有people类
                Console.WriteLine(ren.Say("I like ", "apple!")); //类的方法
                ren.name = "zhangsan"; //类的属性
                Console.WriteLine(ren.name);

                animal dog = new animal(); //类的实例,后面有animal类
                Console.WriteLine(dog.GetHashCode());//类的方法,所有的类都继承子object类,也继承了该类的方法,GetHashCode是该类的方法之一
                dog.name = "Tiger"; //animal类继承了people类的属性和方法
                dog.ID = "9527";
                dog.foot = 4;
                Console.WriteLine("The dog's name is {0}, its ID is {1}. It has {2} foot.{3}{4}",
                    dog.name,dog.ID,dog.foot,dog.Say("I eat ","bones."),dog.eat("OK!"));
                           
                const double pi = 3.14;
                myfun();
                int num1 = 1, num2 = 2;
                double num3 = 2 * pi;
                int[] num = new int[3] { 4, 5, 6 };
                Console.WriteLine("Do you like fruite?"+qiuhe(num1,num2)+Convert.ToChar(num[2]));
                string str = ipt();
                if (str == "liulian")
                {
                    Console.WriteLine("I like liulian too.");
                }
                else
                {
                    Console.WriteLine("I lile " + str);
                }
                Console.ReadLine();
            }

            //方法一
            static void myfun()
            {
                //没有参数与返回值,当作功能方法用
                //由Main方法直接使用的方法,需要加static,表示静态方法
                //方法定义在类的里面,其他方法的外面
                int a = 111; //方法中定义的变量只在该方法中起作用,称为局部变量
                Console.WriteLine("Hello World!"+Convert.ToString(a));
            }

            //方法二
            static string ipt()
            {
                //带有返回值的方法,返回类型由void改为目标类型
                Console.WriteLine("Input:");
                string str = Console.ReadLine();
                return str; //方法结束要有return
            }

            //方法三
            static string qiuhe(int num1, int num2)
            {
                //带有参数的方法
                return Convert.ToString(num1 + num2);
            }
        }

        /***************************************************************************/
        public class people
            //构造一个类
        {
            //类的属性
            public string name;
            public string ID;

            //类的方法
            public string Say(string s1,string s2)
            {
                return s1 + s2;
            }
        }//*/

        public class animal:people
        {
            public int foot;
            public int eat(string str)
            {
                Console.WriteLine("I eat "+str);
                return 0;
            }
        }
    }

  • 相关阅读:
    WPF资源字典使用
    忍住你的痛苦
    WPF附加属性
    一致性Hash算法详解
    登录注册
    REST
    资源访问
    参与Bean的生命周期
    sqlserver中查询横表变竖表的sql语句简析
    C#跨线程修改控件——从MSIL和汇编看Invoke, 多线程, 事件与事件委托
  • 原文地址:https://www.cnblogs.com/mphyfin/p/2848400.html
Copyright © 2020-2023  润新知