温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

初学C#,关于C#的简单入门

发布时间:2020-07-12 18:45:41 来源:网络 阅读:554 作者:dongdong200514 栏目:编程语言

今天突然对学C#有了兴趣,翻查了书籍,觉得C#真心是一种比较好的语言,外加上C#在大学的课堂都没有讲过,希望通过课外的自学可以理解理解它~~

其实可以说,接触过C、C++和java编程的人对于C#的入门其实相当之简单,不过我才学C#,没有学到深处,也不好说,但希望自己大致能够好好记住一些简单的特点~~

最简单的helloworld入门就不说了,不过下面也是一个简单的写法,使用的工具为visual studio 2012

必须引入系统的命名空间名,不过工具visual在新建项目的时候都会自动生成,所以代码就不贴了

using HelloWorld;
namespace Test
{
    class MainPrograme
    {
        static void Main(String[] args)
        {
            Program p = new Program();
            p.show();
        }
    }
}
namespace HelloWorld
{
    class Program
    {
        public void show()
        {
            Console.WriteLine("必须引用命名空间HelloWorld后才可以输出,否则提示出错!");
            Console.ReadLine();
        }
    }
}

**************

using指令后面跟的是命名空间名,在C++里的using namespace std类似,都是为了方便引入资源

在namespace Test里如果想要使用命名空间HelloWorld里的类和方法,必须在前面声明using HelloWorld,visual工具比较好的是,当你没有使用using HelloWorld的时候,它在编程的时候你想写Program类它会自动抛出异常,避免不必要的编译工作查错。


因为C#和C等语言的使用和类型都有相似的地方,所以下面代码只对部分作展示:

namespace Third
{
    enum MonthOfYeear
    {
        January, Feburary, March, April, May, June, July, Aguest, September, October, Novermber, December
    }
    class Program
    {
        static void Main(string[] args)
        {
            /*byte隐式转换,和其他语言一样*/
            int x = 123;
            byte y = 123;
            int result = x + y;
            Console.WriteLine("结果:" + result);
            /*bool类型的使用*/
            bool flag = false;
            Console.WriteLine("请输入第一个数:");
            /*Convert的强制类型转换*/
            int m = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("请输入第二个数:");
            int n = Convert.ToInt32(Console.ReadLine());
            if (m > n)
            {
                flag = true;
            }
            else
            {
                flag = false;
            }
            Console.WriteLine("结果为:" + flag);
            /*enum类型的使用*/
            MonthOfYeear mon;
            mon = MonthOfYeear.Aguest;
            /*注意输出使用的语法*/
            Console.WriteLine("本月是{0}", mon);
        }
    }
}

程序比较简单,所以大概需要注意的为Convert.ToInt32(Console.ReadLine());显式强制类型转换和Console.ReadLine()中从键盘读入数据,输出结果为True或False。另外注意最后一行的输出格式,在C#里看得比较多的都为上面的输出格式。


关于引用变量:

string为引用类型,但当涉及到==或!=运算的时候,比较的是string对象而不是引用的值

引用类型使用new关键字创建对象实例,并存储在堆中

引用变量还有很多的相关说明,我认为跟java的说法比较类似。

namespace Reference
{
    /// <summary>
    /// 引用类型的变量称为对象,可存储对实际数据的引用
    /// </summary>
    class Sample
    {
        public int i = 10;
    }
    class Program
    {
        static void Main(string[] args)
        {
            object o;//定义object类型的引用变量
            o = 1;//赋值
            Console.WriteLine("引用变量初始值:" + o);
            o = new Sample();//使用new关键字实例化类,并赋值给变量
            Sample s;//声明类对象
            s = (Sample)o;//使用引用变量实例化对象
            Console.WriteLine("引用变量的值为:" + s.i);
        }
    }
}

至于引用变量装箱拆箱的操作,通过下面代码也比较好理解

namespace Box
{
    class Program
    {
        static void Main(string[] args)
        {
            /*值类型变量的值复制到装箱得到的对象中之后,改变值类型变量的值不会影响装箱对象的值*/
            int i = 10;
            object obj = i;//对变量i进行装箱操作
            Console.WriteLine("i的值为:{0},装箱后的值为:{1}", i, obj);
            i = 22;
            Console.WriteLine("i的值为:{0},装箱后的值为:{1}", i, obj);
            int j = (int)obj;
            Console.WriteLine("拆箱后的值,装箱的值{0},拆箱的值{1}", obj, j);
            /*装箱对象的值和拆箱得到的值类型数据的值相等,装箱拆箱要符合类型一致原则*/
        }
    }
}

暂时先写这些,这些都是看书里面学的简单案例,程序比较简单而且好入门~~~



向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI