猫史档案馆


【Csharp】C#初入门

用户:天上的流星_tianqiVirus天上的流星_tianqiVirus查看:7 回复:8 评论:7 创建时间:2020-07-08T22:15:09


C#初入门

C#学习记录

by 天上的流星

 

以前我经常用python开发程序,开发虽然有些曲折,但还算顺利

不过随着开发的深入,我越发相信,python运行程序较慢

在咨询了我一个朋友后,我得出:

”用python开发游戏纯属无聊“

所以,我决定学习新的语言

C#

读作Csharp

 

如同我们了解python一样,我们先从hello, world 入手

python版:

print("hello, world")

C#版:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CsharpTest1
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("hello, world");
        }
    }
}

(这个代码行数怎么让我感觉很nice呢)

虽然代码众多,但是我们不难发现

其程序运行之处,在于:

        static void Main(string[] args)
        {
            Console.WriteLine("hello, world");
        }

(我不说那句老话了,C#中不管缩进了)

如此可见Console.WriteLine();相当于print,当然了,要记住在代码结尾加分号

接下来,一切C#的代码指主函数main内的代码,其他情况会另行说明

有输出,自然要有输入,即python的input

            Console.ReadLine();

这时有人会问:

平时,我们经常会在input括号内加入字符串,表示“提问的内容”

如:

input("a number:")

能否改成:

            Console.ReadLine("a number:");

这是不可以的

因为ReadLine方法没有参数,故不能加入字符串

如要达成如上input效果,可以:

            Console.Write("a number:");
            Console.ReadLine();

请注意,此处为Write而非WriteLine

前者不换行,而后者换行

你可以理解为:

            Console.WriteLine("a number:");

类似于:

print("a number:")

            Console.Write("a number:");

类似于:

print("a number:",end='')

当然了,是否要换行,你可以自行决定

通常,我们会在input前加上一个变量,将input的结果赋值给变量

如:

num = input("a number:")

则能否可以:

            num1 = Console.ReadLine();

答案是否定的

首先我们要了解C#的变量机制

用python的方法初始化变量是不行的:

num1 = 0;

(num1:我是谁我在哪儿我在做什么)

C#的定义变量格式为:

变量类型 变量名

如初始化一个num1变量,可以为:

int num1;

如果num1变量是字符类型,可以为:

char num1;

如果num1是字符串类型,可以为:

string num1;

请注意,单个字符为char,多个字符为string

这只是初始化

变量赋值可以如下:

(此处用num1整数类型举例)

int num1;
num1 = 0;

或者

int num1 = 0;

both ok

C/C++同理

故我们可以:

            Console.Write("a number:");
            int num1 = Console.ReadLine();

不,我们不可以

ReadLine返回值是字符串类型,所以我们需要类似于pyth

on的int()的方法转换数据类型

转换至整形类型用:

Convert.ToInt32();

当然了,还有转换成其他类型的,如:

 

Convert.ToString();
Convert.ToChar();
Convert.ToByte();

就连转换成整型也有很多方法

Convert.ToInt16();
Convert.ToInt32();
Convert.ToInt喵();

在此,我建议用ToInt32,一般int为32位有符号整数

故我们可以:

            Console.Write("a number:");
            int num1 = Convert.ToInt32(Console.ReadLine());

不妨试着输出一下

            Console.Write("a number:");
            int num1 = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine(num1);

Write和WriteLine方法,各位应该已经有所了解了

至此,还差最后一步

以前python的时候,我们看到程序运行完直接退出

我们经常在结尾加上

exit = input()

同理,在C#中,可以用ReadLine实现按下回车键退出

            Console.Write("a number:");
            int num1 = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine(num1);
            Console.ReadLine();

至此,一个基本的程序就算完成

 

最后我想说点什么

我会用C#,但显然不精通,在编程猫这里不免有点班门弄斧

但是发表帖子是对我的思想的传递,编辑帖子,也是对我知识的复习

我在学习C#中,由于没有python的代码打比方说明,学起来不免有些吃力

所以我打算用python来解释C#

如有不足,还请大家谅解指出,我必定改正

谢谢大家


回复

上一页1 页 / 共 1下一页
天上的流星_tianqiVirus天上的流星_tianqiVirus

顺便一提,我的ide是Microsoft Visual Studio

点赞0


评论


嗯哼君 渠源嗯哼君 渠源

emotion_编程猫_点赞

点赞0


评论


coder_lyzcoder_lyz

emotion_编程猫_点赞赞一个

btw国内貌似很少c#程序员,都是欧美的在用awa

点赞0


评论


fkymfkym

这可能是喵社唯一一个c#帖子了

点赞1


评论


PlumStevenPlumSteven

请问代码正确才能发布吗

点赞0


评论


一个STUB用户_6923702一个STUB用户_6923702

awa Csharp居然国内还有人用()

点赞1


评论


fkymfkym

unitynb

点赞0


评论


申浩南申浩南

U3D

点赞0


评论