一个C++程序员学习C#语言
感悟:C++是一门语法非常严谨的语言,只是指针就很难掌握,这其中肯定要经历很多折腾,特别是自学者。
折腾了一年半的C++,在即将毕业之际,对Unity3d游戏开发感兴趣,先是用cocos2dx开发了个人游戏,但是cocos2dx的坑绝对深,只是3D模块的模型导入就不支持fbx文件,而是写了一些不常有的3维软件的解析,制作3D游戏的标准看来还没有统一。
1、C#指针:C#限制用户声明指针,连使用都受到非常大的限制,个人感觉与其不要用。
2、C#的数组声明:
//声明一维数组
int []array1;
int []array2 = new int[];//声明并初始化大小
int []array3 = new int[]{,,,,};//声明并初始化元素
int []array4 = {,,,,};//或者这样来创建
//声明二位数组
string [ , ] str1=new string[,];
string [ , ] str2 = {{,,},{,,}};
//交叉数组
//交错数组是一维数组,且每个元素自身是一个数组。作为元素的数组无需均为相同的大小,交错数组是储存数组的数组。
string [][]=new string[][];//这是C++二维数组的声明
foreach()访问数组中的元素
int []number={,,,,,,,,};
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[]; // Populate the CD library with CD objects.
for (int i=; i<; i++)
{
cdLibrary[i] = new CD();
} // Assign details to the first album.
cdLibrary[].Album = "See";
cdLibrary[].Artist = "The Sharp Band";
cdLibrary[].Rating = ;
}
}
}
//对象数组是这样的。
一个C++程序员学习C#语言的更多相关文章
- 一个C#程序员学习微信小程序路由的笔记
路由大家应该都知道,在微信小程序也是有的,毕竟它是单页面应用程序.在WeChat中有五种跳转方式,分别是wx.switchTab.wx.reLaunch.wx.redirectTo.wx.naviga ...
- Java程序员学习Go语言—之一
转载:https://www.luozhiyun.com/archives/206 GOPATH 工作空间 GOPATH简单理解成Go语言的工作目录,它的值是一个目录的路径,也可以是多个目录路径,每个 ...
- 一个C#程序员学习微信小程序的笔记
客户端打开小程序的时候,就将代码包下载到本地进行解析,首先找到了根目录的 app.json ,知道了小程序的所有页面. 在这个Index页面就是我们的首页,客户端在启动的时候,将首页的代码装载进来,通 ...
- c++程序员学习go
作为一个c++程序员学习go编程的笔记.首先声明本人文笔太差,当你阅读一点觉得实在无法阅读下去时请移步. 下载安装go,安装完毕后会增加系统环境变量path内容指定go程序所在目录,可以打开cmd输入 ...
- 万能的林萧说:我来告诉你,一个草根程序员如何进入BAT。
引言 首先声明,不要再问LZ谁是林萧,林萧就是某著名程序员小说的主角名字. 写这篇文章的目的其实很简单,算是对之前LZ一篇文章的补充和完善. 之前LZ写过一篇<回答阿里社招面试如何准备,顺便谈谈 ...
- Java程序员学习之路
1. Java语言基础 谈到Java语 言基础学习的书籍,大家肯定会推荐Bruce Eckel的<Thinking in Java>.它是一本写的相当深刻的技术书籍,Java语言基础部分基 ...
- 写给自己的Java程序员学习路线图
恩,做开发的工作已经三年多了,说起来实在是惭愧,自己的知识树还像一棵小草一样,工作中使用到了许多的知识和技术,不过系统性不够.根基不牢.并且不够深入!当然,慢慢的我也更加的清楚,我需要学习一些什么样的 ...
- PHP程序员学习路线
注:本文是@黑夜路人的旧文,假设PHP程序员基础不是非常扎实,简单梳理了每个阶段PHP程序员的技术要求,来帮助很多PHP程序做对照设定学习成长目标.再次分享,共勉,欢迎补充. 第一阶段:基础阶段(基础 ...
- 聊聊阿里社招面试,谈谈“野生”Java程序员学习的道路
引言 很尴尬的是,这个类型的文章其实之前笔者就写过,原文章里,笔者自称LZ(也就是楼主,有人说是老子的简写,笔者只想说,这位同学你站出来,保证不打死你,-_-),原文章名称叫做<回答阿里社招面试 ...
随机推荐
- Android-Wheel-Menu
https://github.com/anupcowkur/Android-Wheel-Menu
- CentOS系统下做nginx和tomcat负载均衡
系统总是频繁更新,为了避免更新系统的时候领导看不到东西,打算用ngix做代理,后台部署两个tomcat做负载均衡,避免更新一台就无法使用系统的问题,这两天看了写资料,把几个关键点记录在这里以便备忘. ...
- [转]TCP和Http的区别!我都搞懂了,你就别迷糊了!
相信不少初学手机联网开发的朋友都想知道Http与Socket连接究竟有什么区别,希望通过自己的浅显理解能对初学者有所帮助. 1.TCP连接 手机能够使用联网功能是因为手机底层实现了TCP/IP协议,可 ...
- SQL Server 优化器+SQL 基础
http://www.cnblogs.com/shanksgao/tag/%E4%BC%98%E5%8C%96%E5%99%A8/ http://www.cnblogs.com/double-K/ca ...
- allocator例子
13.39 编写自己的StrVec,包括自己版本的reserve.capacity和resize. 13.40 为StrVec添加一个构造函数,它接受一个initializer_list<str ...
- Chapter 5 - How to Detect the Collisions
Chapter 5 - How to Detect the Collisions Our hero can fire bullets now, but the bullets are only vis ...
- .net+easyui系列--datagrid
加载CSS <link href="../../Public/easyui/SiteEasy.css" rel="stylesheet" type=&qu ...
- 一天学完UFLDL
学习UFLDL笔记 第一节 神经网络 神经元长这样 大写W看着有点不习惯.. 激活函数, 就是上面式子中的f. 可以选 sigmoid函数(或者叫 logistic回归,对数几率函数),反正就是这样一 ...
- 批量翻转PNG图片
用了好几个软件都不好用. 要么不能翻转PNG, 要么翻转之后没有透明度了. 基本上全是图形界面, 要鼠标批量拖放. 所以, 还是自己动手, 写一个批量png翻转工具. #include <ios ...
- ubuntu14.04 开启root登陆
想要在登录界面使用root身份登录,可编辑/usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf文件, sudo gedit /usr/share/light ...