精华内容
下载资源
问答
  • # string如何为字符缓冲区开辟内存空间,如pb里用space ## string如何功能建立一个由指定字符串填充的指定长度的字符串,如pb里用fill
  • C#数组初始化详解

    千次阅读 2015-05-06 10:24:21
    这里向你详细介绍C#数组初始化的具体的步骤和实例演示,希望对你了解和学习如何初始化数组有所帮助,那么让我们开始吧:  C#通过将初始值括在大括号 ({}) 内为在声明时初始化数组提供了简单而直接了当的方法。特别...
    如何初始化数组呢?这里向你详细介绍C#数组初始化的具体的步骤和实例演示,希望对你了解和学习如何初始化数组有所帮助,那么让我们开始吧:
    

        C#通过将初始值括在大括号 ({}) 内为在声明时初始化数组提供了简单而直接了当的方法。特别要注意的是,如果声明时未初始化数组,则数组成员自动初始化为该数组类型的默认初始值。

        下面的示例展示初始化不同类型的数组的各种方法。

        C#数组初始化之一维数组

    1. int[] numbers = new int[5] {1, 2, 3, 4, 5};  
    2.  
    3. string[] names = new string[3] {"Matt""Joanne""Robert"};  

        可省略数组的大小,如下所示:

    1. int[] numbers = new int[] {1, 2, 3, 4, 5};  
    2.  
    3. string[] names = new string[] {"Matt""Joanne""Robert"};  

        如果提供了初始值设定项,还可省略 new 语句,如下所示:

    1. int[] numbers = {1, 2, 3, 4, 5};  
    2.  
    3. string[] names = {"Matt""Joanne""Robert"};  

        C#数组初始化之多维数组

    1. int[,] numbers = new int[3, 2] { {1, 2}, {3, 4}, {5, 6} };  
    2.  
    3. string[,] siblings = new string[2, 2] { {"Mike","Amy"}, {"Mary","Albert"} };  

        可省略数组的大小,如下所示:

    1. int[,] numbers = new int[,] { {1, 2}, {3, 4}, {5, 6} };  
    2.  
    3. string[,] siblings = new string[,] { {"Mike","Amy"}, {"Mary","Ray"} };  

        如果提供了初始值设定项,还可省略 new 语句,如下所示:

    1. int[,] numbers = { {1, 2}, {3, 4}, {5, 6} };  
    2.  
    3. string[,] siblings = { {"Mike""Amy"}, {"Mary""Albert"} };  

        C#数组初始化之交错的数组(数组的数组)

        可以像下例所示那样初始化交错的数组:

    1. int[][] numbers = new int[2][] { new int[] {2,3,4}, new int[] {5,6,7,8,9} }; 

        可省略第一个数组的大小,如下所示:

    1. int[][] numbers = new int[][] { new int[] {2,3,4}, new int[] {5,6,7,8,9} }; 

        或使用

    1. int[][] numbers = { new int[] {2,3,4}, new int[] {5,6,7,8,9} }; 

        注意,对于交错数组的元素没有初始化语法。

    展开全文
  • c#对象初始化

    千次阅读 2018-08-01 16:10:54
    c#对象初始化器 以往在对对象属性进行初始化时我们一般会使用构造方法的形式对对象属性进行初始化,如 class Program { static void Main(string[] args) { Student student = new Student(15, "spring&...

    c#对象初始化器

    以往在对对象属性进行初始化时我们一般会使用构造方法的形式对对象属性进行初始化,如

      class Program
        {
            static void Main(string[] args)
            {
                Student student = new Student(15, "spring","男");
            }
           class Student
            {
                public int age { get; set; }
                public string name { get; set; }
                public string sex { get; set; }
                public Student()
                {
    
                }
                public Student(int age, string name,string sex)
                {
                    this.age = age;
                    this.name = name;
                    this.sex = sex;
                }
            }
    
        }

    而使用对象初始化器

      class Program
        {
            static void Main(string[] args)
            {
                Student student = new Student()
                {
                    age = 25,
                    name = "java",
                    sex = "男"
                };
            }
           class Student
            {
                public int age { get; set; }
                public string name { get; set; }
                public string sex { get; set; }
                public Student()
                {
    
                }
                public Student(int age, string name,string sex)
                {
                    this.age = age;
                    this.name = name;
                    this.sex = sex;
                }
            }
    
        }

    对象初始化器与构造方法的异同点

    相同点:都可以完成对象属性的初始化
    不同点

    1.构造函数具有强制性,而对象初始化器没有强制性

    这个强制性怎么说,首先在用构造函数时,对每个属性赋值,必须和构造函数声明的变量属性相同。例如:
    正确的调同时这样的

    Student student = new Student(15, "spring","男")

    我们不能写成

    Student student = new Student(15, "男","spring")`

    这里构造函数强制了我们变量的顺序位置 ,而对象初始化器没有强制,变量可以在任意位置进行赋值
    这样是对的

    Student student = new Student()
                {
                    age = 25,
                    name = "java",
                    sex = "男"
                };

    这样也是对的

    Student student = new Student()
                {
                    name = "java",
                    age = 25,
                    sex = "男"
                };

    2.对象初始化器只能完成属性的初始化,而构造函数可以完成任何需要的初始化操作。

    如构造方法可以在对象创建时读取文件,或者进行一些数据的判断,而在对象初始化器中只能进行赋值的操作

    3.对象初始化器是在创建对象的时候使用,而构造方法是写在类里面

    对象初始化器无需写方法一类的可以直接赋值,而构造方法需要自己编写

    展开全文
  • class Goods { private string strName; public string Name { get { return strName; } set { strName = value; } } private decimal decPr
    class Goods
        {
            private string strName;
            public string Name
            {
                get { return strName; }
                set { strName = value; }
            }
    
            private decimal decPrice;
            public decimal Price
            {
                get { return decPrice; }
                set { decPrice = value; }
            }
    
            private int intQuantity;
            public int Quantity
            {
                get { return intQuantity; }
                set { intQuantity = value; }
            }
        }
    
        class Program
        {
            static void Main(string[] args)
            {
                var goods = new Goods
                {
                    Name = "辐照度",
                    Price = 5,
                    Quantity = 3
                };
    
                Console.WriteLine("水冷日晒的情况" + goods.Quantity + "温度" + goods.Price + "" + goods.Name);
                Console.Read();
            }
        }

    以上为使用对象初始化器;下面为使用集合初始化器:

    class Program
        {
            static void Main(string[] args)
            {
                //var goods = new Goods
                //{
                //    Name = "辐照度",
                //    Price = 5,
                //    Quantity = 3
                //};
    
                //Console.WriteLine("水冷日晒的情况" + goods.Quantity + "温度" + goods.Price + "" + goods.Name);
                //Console.Read();
                var list = new List<Goods>
                {
                    new Goods{Name = "轿车", Price= 10000, Quantity = 2},
                    new Goods{Name = "电脑",Price = 5000, Quantity = 50},
                    new Goods {Name = "打印机", Price = 4000, Quantity = 5}
                };
                Console.WriteLine("公司近期打算采购以下商品:");
                foreach (var item in list)
                {
                    Console.WriteLine("价值为{0}的{1},采购数量为{2}", item.Price, item.Name, item.Quantity);
                }
                Console.Read();
            }
        }


    展开全文
  • C# 对象初始化的顺序分析

    千次阅读 2015-01-20 21:49:24
    C#对象初始化顺序

    对象初始化的顺序

    先变量后构造函数,变量先被初始化,然后构造函数被执行。

    先静态后实例化,当一个类辈访问时,静态变量和构造函数最先被初始化,接着是对象的实例化变量和构造函数被初始化。

    先子类后父类,也可以理解问先派生类后基类,对于变量和静态构造函数,派生对象在基对象之前被初始化,比如C类派生自B类,

    B类派生自A类,那么变量和静态构造函数被初始化的次序是C-B-A.

    除了实例构造函数。对于实例构造函数,基类构造函数在派生类构造函数之前被执行,实例构造函数被执行次序是A-B-C.

     如果类里面有成员类,成员类的构造函数优先被调用

    创建派生的对象,基类的构造函数优先被调用(也优先于派生类里的成员类)

    基类构造函数如果有多个基类,则构造函数的调用顺序是某类在派生类表中出现的顺序而不是它们在成员初始化表中的顺序

    成员类对象构造函数如果有多个成员类对象,则构造函数的调用顺序是对象在类中被生母的顺序而不是他们出现在成员初始化表中的顺序

    派生类构造函数,作为一般规则派生类构造函数应该不能直接向一个基类数据成员赋值而是把值传递给适当的基类构造函数,

    否则两个类的实现变成紧耦合(tightly coupled)将更加难于正确地修改或扩展基类的实现(基类设计者的责任是提供一组适当的基类构造函数)

    参照文章:追梦流星博客,文章c#对象初始化顺序

    class Program
        {
            static void Main(string[] args)
            {
                father test = new son();
                test.print();
                Console.WriteLine("输入任意字符结束...");
                Console.ReadKey();
            }
            class father 
            {
                public static string staticstr = "静态字符串 ";
                public string fatherstr = "父类字符串 ";
                public father() 
                {
                    Console.WriteLine("{0}",staticstr);
                    staticstr = "静态字符串在父类中改变";
                    print();
                }
                public virtual void print() { }
            }
            class son : father 
            {
                string sonstr = "子类字符串 ";
                string changestr = "暂时还未改变 ";
                public son()
                {
                    staticstr = "静态字符串在子类中改变";
                    changestr = "字符串改变";
                }        
                public override void print() 
                {
                    Console.WriteLine("{0},{1},{2},{3}",staticstr,fatherstr,sonstr,changestr);
                }
            }
           
        }
    }


    程序运行顺序如下图所示:12345678910




    展开全文
  • C#执行初始化顺序

    千次阅读 2012-02-16 20:42:07
    c++没有静态构造方法和内联成员初始化C#有这两种特性,其执行的先后顺序是不一样的,在平常编码中鲜有遇到问题的时候,不过居然有区别,也是基础知识还是应该知道的。 C#执行初始化顺序: 子类静态内联...
  • C# 数组初始化方法

    万次阅读 2010-09-30 10:35:00
    这里向你详细介绍C#数组初始化的具体的步骤和实例演示,  * 希望对你了解和学习如何初始化数组有所帮助,那么让我们开始吧:  *  * C#通过将初始值括在大括号 ({}) 内为在声明时初始化数组提供了...
  • C#-初始化器和构造函数初始化

    千次阅读 2016-12-27 19:56:30
    初始化器分为对象初始化器和集合初始化器。下面一一介绍。 对象初始化器 对象初始化器的作用,简单点说就是可以使我们初始化一个类的代码变得更简洁。比如下面这个类: class Person { public string Name { get...
  • c#KeyValuePair初始化

    千次阅读 2018-09-18 17:11:05
    KeyValuePair初始化 在小括号不在大括号,记一下以免以后忘了
  • c# 对象初始化

    千次阅读 2017-05-20 00:45:32
    创建对象什么是对象初始化器?对象在创建时也可以通过对象初始化器完成”属性的初始化”。 但是对象初始化器只在.NET3.0以后的版本中使用 !!! 只能在.NET3.0及其后续版本中使用使用以往的”无参”与”有参”构造...
  • C#数组初始化的几种方式

    万次阅读 2019-06-17 09:04:34
    最怕你一生碌碌无为,...C#数组初始化的几种方式 using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace OneArray { class Program { static void Main(string[...
  • C# 3.0 中对象初始化器(Object Initializers) 和 集合初始化器(Collection Initializers) ,就是简化我们的代码,让本来几行才能写完的代码一行写完。这样在LINQ的使用中,我们才不会把一个LINQ表达式写的巨复杂...
  • C#对象初始化器和集合初始化

    千次阅读 2017-03-20 14:53:13
    为了提供更合理的构造函数,我们不得不进行多次构造...现在有了Object and Collection Initializer(对象和集合初始化器)就方便多了。  举个例子:   private class Cat { // Auto-implemented propertie
  • C#对象初始化

    千次阅读 2015-05-11 20:15:06
    using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace 对象初始化器 { class Program { static void Main(string[] args) { //第二种初始化
  • c#一键初始化数据库

    2015-12-02 16:04:45
    因为自己的项目需要,导入大批量的数据,就手写了一个mysql一键初始化的小程序,也遇到了很多多得问题,也请教了很多人,查了很多资料,今天把自己的代码贴出来和大家一起讨论,如果有写的不对的地方还原大家提出来...
  • C# 结构体初始化

    千次阅读 2013-04-30 18:58:00
    public struct MyStruct { ... public string s; public int length; public static implicit operator MyStruct(string value) { return new MyStruct() { s = value, length = value.Length }; }...
  • C# IList初始化并赋值

    千次阅读 2018-11-02 15:57:16
    //用IList接收数据 IList本身是一个泛型接口,不具备实例的能力 IList&lt;T&gt; entity = new List&lt;T&gt;( new T[] { new T(){ id = 1 , .......}, //T中的属性成员 } ); //使用IList的...
  • 剖析C#集合初始化

    千次阅读 2013-06-03 19:53:09
    ------- Windows Phone 7手机开发、.Net培训、期待与您交流! ------- 1..... 代码如下: static void Main(string[] args) ... List list = new List() { 1,2};... }这段代码使用了集合初始化器,其实他和下
  • C# 结构体初始化, 求为空

    千次阅读 2013-11-13 17:40:28
    一般做法是写个构造函数, 在里面写上不可能的值  //这样是不行滴,结构体里不能有无参构造函数 ... public string name;  public int num;  public int key;  public Formula ()  {  
  • 如何在C#初始化一个空数组?

    千次阅读 2020-07-11 10:24:28
    要向其中添加一些内容,无论如何您都需要重新初始化现有的数组(即使您要调整数组的大小,也请参见此线程 )。 One of the rare cases where you would want to initialise an empty array would be to pass array ...
  • C#中:初始化器及构造函数初始化

    千次阅读 2019-05-05 18:55:03
    初始化器分为对象初始化器和集合初始化器。下面一一介绍。 对象初始化器 对象初始化器的作用,简单点说就是可以使我们初始化一个类的代码变得更简洁。比如下面这个类: class Person { public string Name { get...
  • 在创建一个具有较多属性的对象时,我们一定经常遇到这样的状况:为了尽量地使我们的Code更加简洁,我们试图调用一个适合的Constructor使得对象在创建过程中就可以为所需的属性进行初始化,但是往往我们找不到这样...
  • C# 枚举初始化及获取索引值

    千次阅读 2019-02-24 15:41:11
    /// 枚举的初始化 && 获取枚举索引值 /// public class SetEnum : MonoBehaviour { public m_Enum m_Enum; void Update() { //1.枚举类型赋值 if (Input.GetKeyDown(KeyCode.Alpha1)) { m_Enum = m_Enum....
  • [C#]初始化数组的三种方式及对比

    万次阅读 2018-05-18 15:39:15
    string[] OK = { "...这种初始化方式可以写在方法里,也可以写在方法外②string[] OK; OK = new string[4]{"Are you OK", "Hello", "Thank you","Thank you ver

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 109,809
精华内容 43,923
关键字:

c#string初始化

c# 订阅