zoukankan      html  css  js  c++  java
  • C#学习笔记—了解C#

           这应该不是第一次学C#了,以前曾经在图书馆借过C#方面的书,大体的感觉是与C++的语法有比较相似的一面,没有在这方面做很多练习,自然就陌生了。回顾自己学习C++的历程,却也是经过了很多遍的学习与实践的结合才掌握到如此程度的。C#应该也是如此。

           其实在程序设计语言方面,掌握好几门就已经足够了。计算机领域的核心问题不在程序设计,而在算法与数据结构设计。如果希望自己设计的软件有良好的市场前景,关键还是在于头脑。

           借了本《C#大学教程》,感觉读起来没有什么困难,应该算入门级书吧。

           第一个例程是设计一个带有图片以及文字的窗体,一行代码也不用写,直接拖控件就可以了。效果如图:

                     

           这使我联想到,如果用MFC,Qt该怎样去实现。MFC虽然也可以拖控件,但是远远无法达到这样的效果:设置图片文件,改变字号,改变字体,改变背景……这些确实让我对C#的功能非常惊叹,大概就是可视化编程与代码自动生成的魅力所在吧。

           通过观察解决方案资源管理器,发现主要文件是:

    Form1.cs                             负责窗体的消息处理

    Form1.Designer.cs               负责窗体的布局及外观

    Form1.resx                         负责窗体中的相关资源,例如图片等

    Program.cs                          主程序,整个应用程序的入口

           通过观察代码我还发现:

    1. 命名空间的规则与java有些相似,都是使用点号“.而不是C++的双冒号“::”;
    2. 在声明命名空间时采用 using System 的形式,而在C++中则采用的是using namespace std 的形式;
    3. 入口函数名为Main,必须为一个类的静态成员函数
     1 using System;
     2 using System.Collections.Generic;
     3 using System.Linq;
     4 using System.Windows.Forms;
     5 
     6 namespace ASimpleProject
     7 {
     8     static class Program
     9     {
    10         /// <summary>
    11         /// 应®|用®?程¨¬序¨°的Ì?主¡Â入¨?口¨²点Ì?。¡ê
    12         /// </summary>
    13         [STAThread]
    14         static void Main()
    15         {
    16             Application.EnableVisualStyles();
    17             Application.SetCompatibleTextRenderingDefault(false);
    18             Application.Run(new Form1());
    19         }
    20     }
    21 }
  • 相关阅读:
    Android 按键消息处理Android 按键消息处理
    objcopy
    SQLite多线程读写实践及常见问题总结
    android动画坐标定义
    Android动画效果translate、scale、alpha、rotate
    Android公共库(缓存 下拉ListView 下载管理Pro 静默安装 root运行 Java公共类)
    Flatten Binary Tree to Linked List
    Distinct Subsequences
    Populating Next Right Pointers in Each Node II
    Populating Next Right Pointers in Each Node
  • 原文地址:https://www.cnblogs.com/johnpher/p/2733765.html
Copyright © 2011-2022 走看看