一个C++程序员学习C#语言

感悟:C++是一门语法非常严谨的语言,只是指针就很难掌握,这其中肯定要经历很多折腾,特别是自学者。

折腾了一年半的C++,在即将毕业之际,对Unity3d游戏开发感兴趣,先是用cocos2dx开发了个人游戏,但是cocos2dx的坑绝对深,只是3D模块的模型导入就不支持fbx文件,而是写了一些不常有的3维软件的解析,制作3D游戏的标准看来还没有统一。

1、C#指针:C#限制用户声明指针,连使用都受到非常大的限制,个人感觉与其不要用。

2、C#的数组声明:

//声明一维数组
int []array1;
int []array2 = new int[5];//声明并初始化大小
int []array3 = new int[5]{1,3,5,7,9};//声明并初始化元素
int []array4 = {1,3,5,7,9};//或者这样来创建
//声明二位数组
string [ , ] str1=new string[2,3];
string [ , ] str2 = {{1,2,3},{4,5,6}};
//交叉数组
//交错数组是一维数组,且每个元素自身是一个数组。作为元素的数组无需均为相同的大小,交错数组是储存数组的数组。
string [][]=new string[2][];//这是C++二维数组的声明

    foreach()访问数组中的元素

int []number={1,2,3,4,5,6,7,8,9};
foreach(int i in number)
{
    System.Console.Write(i);
}
//C++基于范围的for循环
for(int i : number)
{
    cout<<i<<endl;
}
//c++遍历容器方法for_each
for_each(book.begin(),book.end(),out);

   对象数组:

创建对象数组(而非创建像整数这样的简单数据类型的数组)的过程分为两个部分。首先声明数组,然后必须创建存储在数组中的对象。

 

namespace CDCollection
{
    // Define a CD type.
    class CD
    {
        private string album;
        private string artist;
        private int rating;

        public string Album
        {
            get {return album;}
            set {album = value;} 
        }
        public string Artist
        {
            get {return artist;}
            set {artist = value;}
        }
        public int Rating
        { 
            get {return rating;} 
            set {rating = value;} 
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            // Create the array to store the CDs.
            CD[] cdLibrary = new CD[20];

            // Populate the CD library with CD objects.
            for (int i=0; i<20; i++)
            {
                cdLibrary[i] = new CD();
            }

            // Assign details to the first album.
            cdLibrary[0].Album = "See";
            cdLibrary[0].Artist = "The Sharp Band";
            cdLibrary[0].Rating = 10;
        }
    }
}

 //对象数组是这样的。

 

posted @ 2016-08-24 20:45  SWordStudio  阅读(1982)  评论(0编辑  收藏  举报