C#类和结构区别的总结(一)

简介:
using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            int i = new int();
            string a = " ";
            Console.WriteLine("{0}{1}",a,i);
            int[] b = new int[10];
            Console.WriteLine(b[3]);
            structOne soInstanceOne = new structOne ();
            Console.WriteLine("soInstanceOne:{0}:{1}", soInstanceOne.filed1, soInstanceOne.filed2);
            structOne[] soArrayOne = new structOne[10];
            Console.WriteLine("soArrayOne[]:{0}:{1}",soArrayOne[2].filed1,soArrayOne[2].filed2 );
            soArrayOne[0].people = new string[4];
            soArrayOne[0].people[0] = "男";
            soArrayOne[0].people[1] = "18";
            soArrayOne[0].people[2] = "Jack";
            foreach (string peopleJack in soArrayOne[0].people)
            {
                Console.WriteLine(peopleJack);
            }
            soInstanceOne.people = new string[3];
            soInstanceOne.people[0] = "女";
            soInstanceOne.people[1] = "17";
            soInstanceOne.people[2] = "Alice";
            foreach (string peopleAlice in soInstanceOne.people)
            {
                Console.WriteLine(peopleAlice);
            }

            Console.WriteLine(structOne.filed4);
            soInstanceOne.StructOneMethodOne();

            classOne Test = new classOne();
            Console.WriteLine ("Test:");
            Console.WriteLine ("{0}:{1}:{2}",Test.cFiled1,Test.cFiled2 ,Test.cFiled3 ); //打印0::false

            Console .ReadLine ();
        }
        struct structOne
        {
            public int filed1; //执行这个语句structOne soInstanceOne = new structOne()之后, filed1的值初始化为0
            public string filed2; //执行这个语句structOne soInstanceOne = new structOne()之后, filed2的值初始化为null
            public string[] people;
            //public sting[] people = { "男", "17", "Jack" };//结构中不能有实例字段初始值设定项,意思就是不能为实例字段赋值
            //private int filed3 = 3;  //不能有实例字段初始值设定项,意思就是不能为实例字段赋值
            public  static int filed4 = 4; //结构中可以为静态字段赋值
            private const string conA = "conA"; //结构中可以为常数字段赋值,因为常数属于Static
            private static string strName = "John"; //结构中可以为静态字段赋值
            public static string[] anotherPeople = { "男", "17", "Tom" }; //结构中可以为静态数组赋值
            public bool bResult;
            public void StructOneMethodOne()
            {
                Console.WriteLine(conA);
                Console.WriteLine(strName);
                Console.WriteLine(bResult);
            }
        }
        class classOne
        {
            public int cFiled1;
            public string cFiled2;
            public bool cFiled3;
        }
    }
}

 













本文转自terryli51CTO博客,原文链接:http://blog.51cto.com/terryli/520606 ,如需转载请自行联系原作者



相关文章
|
4天前
|
C#
C#的基本语法结构学习
【5月更文挑战第17天】C#基础语法包括变量(如`int x = 10`)、常量(`const int MAX_VALUE = 100`)、运算符(如算术和比较运算符)、控制语句(if、for、while等)和函数声明(`int Add(int x, int y) { return x + y; }`)。这些构成C#程序的基本元素。
16 0
|
4天前
|
C#
C#的类和对象的概念学习案例刨析
【5月更文挑战第17天】C#是一种面向对象的语言,以类和对象为核心。类作为对象的模板,定义了属性(如Name, Age)和行为(如Greet)。对象是类的实例,可设置属性值。封装通过访问修饰符隐藏实现细节,如Customer类的私有name字段通过Name属性访问。继承允许新类(如Employee)从现有类(Person)继承并扩展。多态让不同对象(如Circle, Square)共享相同接口(Shape),实现抽象方法Area,提供灵活的代码设计。
12 1
|
6天前
|
C#
c# 所有类的最终基类:Object
c# 所有类的最终基类:Object
7 0
|
6天前
|
C#
c#一文读懂continue、return、break区别
c#一文读懂continue、return、break区别
10 0
|
6天前
|
安全 C#
C#Webrequest类的使用
C#Webrequest类的使用
10 0
|
6天前
|
SQL 存储 C#
C# Web控件与数据感应之 TreeView 类
C# Web控件与数据感应之 TreeView 类
|
6天前
|
SQL 存储 Oracle
C# Web控件与数据感应之 CheckBoxList 类
C# Web控件与数据感应之 CheckBoxList 类
|
6天前
|
SQL 存储 Oracle
C# Web控件与数据感应之 Control 类
C# Web控件与数据感应之 Control 类
|
6天前
|
SQL 存储 Oracle
C# Web控件与数据感应之 ListControl 类
C# Web控件与数据感应之 ListControl 类
|
6天前
|
C#
深入C#中的String类
深入C#中的String类
13 0