C#学习笔记(三)

下午路考,一大早就跑出去练车了,回来已经下午5点了。估计是早晨起的太早,从驾校回来一直没什么精神因此也就没有看书。俗话说"一

日不练,三日空“,晚上还是决定写个贪吃蛇的小程序,一来打发一下睡觉前的时间,二来可以熟悉一下C#前面看过的语法和环境,没想到在写

程序的过程中还真发现了不少问题,时间太短,有的解决了有的没解决,现在一一列出:

1.           问题:在写在其它文件中的partial class方法中引用MessageBox.Show(..),程序报告《当前上下文中不存在名称“MessageBox”》错误。
    解决方法:就像AfxMessageBox是封装在MFC库中方法一样,MessageBox同样也是存在于System.Windows.Forms空间中的一个类,需要在源代码前面

使                              用using加载该命名空间才能使用。
2            问题:任何结构体或类变量在被声明后必须采用new该变量的构造函数来初始化,否则调试程序时编译器会自动报告该部分需要异常处理

            List <int> MyList;
                             MyList.Add(1);   //这是错误的
              正确使用:
                             List<int>MyList;
                             MyList=new List<int>();
                             MyList.Add(1);
3             问题:C#中利用程序画图也需要确定将要绘图的场景,与VC++中不同的是,VC++中使用设备场景类CDC来描述场景,CDC中保存着相关绘

图的方法。而C#中这个设备场景类被分成了两部分,一部分是实现绘图的方法部分该部分由System空间中的Drawing类实现,第二部分是关于场景

的设置部分,该部分由Graphics类实现。使用的时候可以通过窗口类的对象CreateGraphics()为Graphics对象建立一个在该窗口中绘图的场景(暂时

这么说吧),这样就可以通过Graphics的对象来实现绘图了。例如:
                                 Form1 frm;
                                 Graphics g=frm.CreateGraphics;
                                Pen MyPen=new Pen(Color.Black);
                                g.DrawLine(MyPen,1,1,50,50);
                 System空间中的Drawing类的使用方法待查

4              问题:关于类的访问性的问题。在编写程序时定义了一个类,其中希望其中一个函数可以返回在类中定义List<T>容器(初学不久,感觉

List<T>和STL中的list容器挺像的,暂时也管List叫容器吧),出错的partial class文件中的程序如下:

//变量的声明
using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;


namespace Snake
{
    partial class Snake
    {
        public List<NODE> GetSnake() {
            return EatSnake;
        }
        private NODE stNode;
        private List<NODE> EatSnake;

    }
}
编译器报告:
错误 1 可访问性不一致: 返回类型“System.Collections.Generic.List<Snake.Snake.NODE>”比方法“Snake.Snake.GetSnake()”的可访问性低

                  解决方法:未知,等待CSDN回复

5               问题: 在编写程序的过程中还出现了一次变量未初始化引起的编译错误,通过C#的使用希望能在日后VC下写程序时避免发生同样的错      
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值