iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C#零基础开发中最重要的概念总结
  • 243
分享到

C#零基础开发中最重要的概念总结

C#开发重要概念C#开发 2023-02-26 11:02:20 243人浏览 八月长安
摘要

目录初步数学计算和函数变量和数据类型布尔类型和判断数组和for循环while循环与跳出初步 学习C#自然推荐使用宇宙最强IDE Visual Studio,初学下载社区版,安装过程中

初步

学习C#自然推荐使用宇宙最强IDE Visual Studio,初学下载社区版,安装过程中,将除了移动开发之外的带有C#和.net字样的选项都勾上。

安装完成后,打开VS->创建新项目->C#控制台应用->下一步->项目名称、位置随便写->下一步->框架选.Net6.0->点击创建,然后就会看到我们的第一个CSharp程序。

// See https://aka.ms/new-console-template for more infORMation
Console.WriteLine("Hello, World!");

代码的可读性是非常强的,Console表示控制台,WriteLine就是写下一行,合起来就是在命令行中写一行话,这行话就是Hello World!。

C#中,通过//进行单行注释进行多行注释。每行代码要以分号;结尾!!

按下F5就可以执行这段程序了,弹出命令行,内容为

Hello, World!

E:\Documents\00\1116\CSharp\MyFirstCS\bin\Debug\net6.0\MyFirstCS.exe (进程 17312)已退出,代码为 0。
要在调试停止时自动关闭控制台,请启用“工具”->“选项”->“调试”->“调试停止时自动关闭控制台”。
按任意键关闭此窗口. . .

这里额外说一段,对于.Net5.0以前的版本,需要在这个语句外面套一层Main函数,Main函数外面套一层Class,Class外面再套一层namespace。

数学计算和函数

常用的数学计算可通过运算符来实现,比如加减乘除,就是+-*\,此外还有%表示求余,例如

Console.WriteLine(5%3);

命令行中出现2。

除了Lisp风格的语言之外,绝大多数编程语言对四则混合运算的支持都有良好的可读性,比如2+3*5这种式子,其实是无需详述的。

但四则混合运算其实并不能完全满足我们的需求,最起码很多情况下需要用到平方,为了实现这个功能,就需要自定义函数

double square(double x)
{
    return x * x;
}
Console.WriteLine(square(3.5));

F5执行之后,命令行输出了12.25。

接下来,将上面的表达式对应到y=f(x)=x2这样的函数表达式中

d1 f(d2 x)
{
    return y;
}

也就是说,类比数学中的概念,square为函数名,x为自变量,y为因变量。而在编程领域,一般把x叫做输入参数,y则叫做返回值。

而d1和d2所对应的double,则为输入变量和输出变量的数据类型。

变量和数据类型

从数学的角度,可以非常简单粗暴地理解数据类型,即数据类型有两类,一类是小数,一类是整数。对于希望速成的初学者来说,整数用int表示,小数用double表示,当然编程中一般把小数叫做浮点数。

这时就有一个尖锐的问题,"Hello World"又是个啥?

好吧你赢了,那就再加一种数据类型,就是字符串。而且字符串和数值还有区别,小数和整数尽管类型不同,但总可以互相计算的,比如小数和整数相加,最后得到的是个整数;但小数和字符串相加,最后应该没法得到值。

也就是说,四则混合运算对字符串不适用。

你可能不信,于是写出了这行代码

Console.WriteLine("Hello" + "World");

好吧你又赢了,+只在高中数学中表示加法,在编程语言中只是一个代码,既可以将其定义为加法,也可以将其定义为字符串拼接。

有了数据类型,就可以定义变量

double square(double x){
    return x * x;
}
double a = 1.5;
int b = 2;
Console.WriteLine(square(a)+b);

最后命令行输出4.25,square(a)是对浮点数做平方,然后输出了浮点数,而b是整型,根据输出结果可以直到,浮点型和整型相加,最后的结果仍然是浮点型。

布尔类型和判断

数值计算和解析计算的区别在于,后者是无限的,而前者是有限的。网上经常说π又算到了多少多少位,就讲出了这个区别。π 显然是无穷多位的,但计算机只能表现出有限的位数,这种位数的限制,使得整型和浮点型内部产生了分 裂。

众所周知,计算机操作的是二进制的逻辑电路,用32位二进制,可以表示的最大整数就是232=4294967296,要是还想考虑一下0,那就再要减一,要是再考虑负数,就要再减半。

C#中提供了多种位数的整型和浮点型,其中整型又包括有符号和无符号两种,所谓有符号,就是有正有负;无符号就是0和正整数。比如double就是64位浮点型;int是32位有符号整型;uint是32位无符号整型。

当数据位数降到1位时,一位的二进制就只剩下两个值0和1,仿佛是一个开关,于是量变引起了质变,布尔类型诞生了。

这个时候,0 00和1 11被赋予了非常重要的现实意义,用于表示无或有,以及错和对,即false和true。

有了对错,就可以判断,在几乎所有编程语言中,都用if表示判断

void trueOrFalse(bool c){
    if(c){
        Console.WriteLine("你是对的");
    }
    else{
        Console.WriteLine("我是错的");
    }
}
trueOrFalse(true);

运行之后,输出你是对的。

抛开if不谈,这个函数也和之前定义的不太一样,这个函数没有返回值,所以其输出的数据类型为void。

大多数人接触if时的学习案例往往是这个

void biGorlittle(int a, int b)
{
    if (a > b)
    {
        Console.WriteLine($"{a}>{b}");
    }
    else if (a < b)
    {
        Console.WriteLine($"{a}<{b}");
    }
    else
    {
        Console.WriteLine($"{a}={b}");
    }

}
bigOrlittle(3, 5);
//输出为 3<5

这个案例给出了完整的判断语句,if...else if...else,中间的else if可以为无穷多个。据说有一款游戏中,堆了一个19亿次判断的屎山,被坊间传为笑谈。

其中,<是也是一种运算符,其输入为两个数值,输出为布尔型变量。如果左边的小于右边的,就输出true,否则就输出false。这类运算符被统称为条件运算符,包括全等判断==,不等判断!=以及>,<,>=,<=。

数组和for循环

前文提到,除了数值之外,字符串是另外一种数据类型,这两种类型之间并不能直接运算。而且前文又提到,数值类型和二进制的位数是息息相关的,32位整型能表示的最大数值不超过232

但字符串似乎并没有这种限制,只要计算机内存扛得住,似乎可以在双引号中写入任意长度的字符串。这种奇怪的特性表明,字符串并不是一种单纯的数据类型,而是由字符组成的串。

所谓字符,就是诸如'a','b','c'这样单个的字母或者文字,它们和数值类型都要受到二进制位数的限制。C#中的char类型由两个字节组成,也就是16位二进制,最多可以涵盖65536个单字。而字符串,就是由这一个个字符拼接而成。

推此及彼,数值类型也应该有类似的串的结构,此即数组,其声明方式如下

int[] arr = new int[5];
Console.WriteLine(arr);
// System.Int32[]

int[]表示整型数组,new表示创建一个数组的实例,后面int[5]表似乎这个数组的长度为5。最后调用Console.WriteLine来打印arr,结果并没有输出数组的内容。

先不考虑数组是否支持用WriteLine,arr在创建出来之后,其实并没有为其赋值,所以非要输出,输出为空也是符合逻辑的。

数组赋值的方法也很便捷,arr[0]=1表示将arr中的第0个值赋为1。千万要注意,C#中,索引序号是从0开始的。

接下来又出现了一个严重的问题,如果要创建一个有1000个元素的数组,那给数组初始化不得写1000行?要是按行数算工资的话老板不得亏死?

所以接下来就引入另一个概念,for循环,如下

int[] arr = new int[5];
for (int i = 0; i < 5; i = i+1)
{
    arr[i] = i * i;
}

在(int i=0; i<5; i=i+1)中,int i声明了一个变量,i=0表示这个变量从0开始,i=i+1表示每次循环,i都变成i+1,i<5表示只有在i<5的情况下才执行循环。

由于i=i+1这种写法过于繁琐,C#提供了自增运算符i++,再意义上与i=i+1等价。

花括号中是循环体,对数组arr逐个进行赋值。唯一比较可惜的是,Console.WriteLine并不能直接把数组中的内容打印出来,为了打印数组中的内容,还要再写个循环

for (int i = 0; i < 5; i++)
{
    Console.WriteLine(arr[i])
}

当然,对于数组操作,这里其实推荐这种写法

foreach (var e in arr)
{
    Console.WriteLine(e);
}

foreach表示遍历数组中的所有元素,再(var e in arr)中,var表示自动判定数组内元素的数据类型,e则为遍历到的arr中的元素创建一个临时的变量。这样就把arr中所有的元素打印出来了。

0
1
4
9
16

当然,圈子兜了这么远,主要目的并不是初始化数组,而是为了讲述for循环,因为数组初始化有更加便捷的方式

int[] arr = {0,1,4,9,16}

while循环与跳出

其实有了for循环就已经可以解决几乎所有循环问题了,但从逻辑上来说,for循环并不存粹,里面加入了大量私货。毕竟对循环而言,其实只需要一个循环条件就可以了,符合这个条件就循环,不符合就跳出,while就是干这个的,其使用方法与if十分相似

double a = 1.5
while(a*a<100){
    a++;
    Console.WriteLine(a);
}

但while中没有else,也就是说,只能判断一个条件,如果有多个跳出条件,可以用break。

while(a*a<100){
    a++;
    if(a>5){
        //当a>5时,跳出循环
        break;
    }
    Console.WriteLine(a);
}

另一种情况是,如果并不想把所有a都打印出来,则可以通过continue来跳过某次循环,下面打印出平方小于100的所有奇数

a = 0
while(a*a<100){
    a++;
    if(a%2==0){
        //当a>5时,跳出循环
        continue;
    }
    Console.WriteLine(a);
}

到此这篇关于C#零基础开发中最重要的概念总结的文章就介绍到这了,更多相关C#开发内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: C#零基础开发中最重要的概念总结

本文链接: https://www.lsjlt.com/news/197555.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C#零基础开发中最重要的概念总结
    目录初步数学计算和函数变量和数据类型布尔类型和判断数组和for循环while循环与跳出初步 学习C#自然推荐使用宇宙最强IDE Visual Studio,初学下载社区版,安装过程中...
    99+
    2023-02-26
    C#开发重要概念 C#开发
  • C#零基础开发中最重要的概念是什么
    本篇内容主要讲解“C#零基础开发中最重要的概念是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C#零基础开发中最重要的概念是什么”吧!初步学习C#自然推荐使用宇宙最强IDE Visual S...
    99+
    2023-07-05
  • 对象是Java程序设计中最重要的概念吗?
    Java程序设计是一门面向对象的编程语言,因此对象在Java程序设计中占据着重要的地位。但是,对象是否是Java程序设计中最重要的概念呢?这是一个值得探讨的问题。 在Java程序设计中,对象是一切的基础。Java中的每个对象都是由类构造而成...
    99+
    2023-09-20
    关键字 对象 unix
  • 数据类型是Python、Laravel和Spring中最重要的概念吗?
    随着计算机技术的不断发展,数据处理已经成为了各种应用程序开发的核心。而不同的编程语言和框架对于数据类型的处理方式也有所不同,Python、Laravel和Spring作为三个不同的技术体系,在数据类型方面的处理也有着各自的特点。 那么,数...
    99+
    2023-09-19
    数据类型 laravel spring
  • 缓存是Go、Django和Bash开发者需要了解的重要概念吗?
    随着互联网技术的发展,数据量和访问量不断增加,如何提高系统的响应速度和性能成为了开发者们面临的重要问题。缓存技术是一种被广泛使用的提升系统性能的方法之一。在本文中,我们将探讨缓存的概念、原理和应用,并且演示在Go、Django和Bash开...
    99+
    2023-10-26
    django bash 缓存
  • 同步、异步、并发:Java和Django中的重要概念解析
    在开发软件时,同步、异步和并发是非常重要的概念。Java和Django都是非常流行的编程语言和框架,这篇文章将解析这些概念在Java和Django中的使用方法和差异。 同步和异步 同步和异步是指任务之间的关系,它们是指程序执行的方式。在同...
    99+
    2023-09-10
    django 同步 并发
  • JavaScript开发中需要搞懂的字符编码总结
    目录字符集和字符编码ASCII字符集的发展历史UnicodeUTF-8UTF-16比较前端开发中的编码字符串长度计算组合字符的长度多码元字符操作正则中的 u 修饰符转义字符常用API...
    99+
    2023-02-21
    JavaScript开发必备字符编码 JavaScript字符编码
  • HTML5开发中最重要的技术点是什么
    这篇文章将为大家详细讲解有关HTML5开发中最重要的技术点是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。   什么是HTML5?   HTML5是最新的HTML...
    99+
    2024-04-02
  • 从零开始学习 Java 对象开发技术中函数的基础知识
    Java 是一门广泛使用的编程语言,其面向对象编程模式是其主要特点之一。在 Java 中,函数是一种非常重要的编程元素,它们可以帮助我们组织代码并实现复杂的逻辑。在本文中,我们将。 一、函数的定义与调用 在 Java 中,函数也被称为方法。...
    99+
    2023-07-05
    对象 开发技术 函数
  • 基于C#的在线旅游指南开发项目经验总结
    基于C#的在线旅游指南开发项目经验总结引言:如今,伴随着互联网的迅猛发展,人们越来越倾向于使用在线旅游指南来规划自己的旅行。为了满足用户需求,我们决定开发一款基于C#的在线旅游指南。在这个项目中,我们面临了各种挑战和困难,但通过团队的协作和...
    99+
    2023-11-04
    C#开发 旅游指南 经验总结
  • 基于C#的旅游预订平台开发项目经验总结
    随着互联网的发展,旅游业也迎来了新的变革。传统的旅行社模式已经不能满足现代人们的需求,因此在线旅游预订平台成为了目前旅游市场的主要渠道之一。本文将分享一个基于C#的旅游预订平台开发项目的经验总结。一、项目需求分析在项目启动前,我们需要先进行...
    99+
    2023-11-03
    C# 开发经验 旅游预订
  • 基于C#的在线投资平台开发项目经验总结
    基于C#的在线投资平台开发项目经验总结引言:随着互联网的迅速发展,人们对于在线投资平台的需求不断增加。C#作为一种流行的编程语言,被广泛应用于开发在线投资平台。本文旨在总结基于C#的在线投资平台开发项目的经验,分享开发过程中遇到的问题以及解...
    99+
    2023-11-04
  • 基于C#的在线音乐平台开发项目经验总结
    一、项目背景在数字化时代,音乐作为一种重要的文化艺术形式,深受大众喜爱。传统的音乐播放方式逐渐被线上音乐平台取代,用户可以通过在线音乐平台随时随地收听自己喜爱的音乐。针对这一需求,我们团队在C#语言下开发了一款在线音乐平台。二、项目目标我们...
    99+
    2023-11-02
    C# 在线音乐平台 开发经验总结
  • 对象是 Python Spring 中最重要的概念之一,你会怎么学习笔记呢?
    对象是 Python Spring 中最重要的概念之一,它是面向对象编程的核心。对象是一种抽象数据类型,它封装了数据和行为,并且可以被其他对象使用。在本文中,我们将深入探讨对象的概念,以及如何在 Spring 中学习笔记。 一、什么是对象 ...
    99+
    2023-08-31
    spring 学习笔记 对象
  • Android应用开发基础—实现一个简易的计算器学习总结
    目录 一、前言 二、设计思路 布局: 后台: 三、演示:  四、总结 一、前言 学习目标:根据课程所学的相关知识,完成一个简易的计算器,并实现一定的功能。 工具环境:Android studio、Java语言 实现功能: 完成简单的页...
    99+
    2023-09-29
    学习 java android-studio
  • 关键字、缓存和自然语言处理:PHP开发者需要知道的重要概念是什么?
    PHP是一门广泛应用于Web开发的编程语言,很多开发者都会使用它来构建网站和Web应用程序。在PHP开发中,有一些重要的概念需要我们了解,包括关键字、缓存和自然语言处理。 关键字 在PHP中,关键字是一些被保留的单词,它们具有特殊的含义...
    99+
    2023-10-18
    自然语言处理 缓存 关键字
  • Java开发中需要知道的基础知识有哪些
    这篇文章将为大家详细讲解有关Java开发中需要知道的基础知识有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Java 是一个多功能的编程语言,在某种程度上,它用在几乎所有可能涉及计算机的行业了里。Ja...
    99+
    2023-06-02
  • 重定向、shell和文件:Java开发者需要掌握的基础知识
    对于Java开发者来说,掌握Linux系统下的基础命令和文件操作是非常必要的。本文将会介绍重定向、shell和文件这三个在Linux系统下非常重要的概念。通过掌握这些知识,Java开发者可以更加高效地进行开发工作。 一、重定向 重定向是L...
    99+
    2023-09-04
    重定向 shell 文件
  • 基于C#的在线医疗咨询平台开发项目经验总结
    摘要:本文总结了一个基于C#的在线医疗咨询平台开发项目的经验。通过讨论需求分析、系统设计、开发实现、测试和上线发布等阶段的关键问题和解决方案,旨在为开发类似项目的工程师们提供一些有益的参考和指导。关键词:C#、在线医疗咨询平台、需求分析、系...
    99+
    2023-11-02
    C# 在线医疗 开发经验总结
  • 基于C#的在线人脸识别系统开发项目经验总结
    引言随着人工智能和大数据技术的发展,人脸识别技术已经逐渐成为了生活中不可或缺的一项技术。而在线人脸识别系统的出现则为这项技术的应用提供了更便捷的方式。本文介绍了作者在开发基于C#的在线人脸识别系统中的经验总结。实现方式2.1 人脸检测人脸识...
    99+
    2023-11-03
    C# (编程语言) 在线人脸识别 (功能) 项目经验总结 (总结)
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作