c#基础(一)
一、 C#与.Net的关系
C#是一种相当新的编程语言。C#的重要性体现在以下两个方法:
1)、它是专门为Microsoft的.net FrameWork一起使用而设计的
(.net FrameWork是一个功能非常丰富的平台,可开发,部署和执行分布式应用程序)
2)、它是一种基于现代面向对象设计方法的语言,它在设计它的时候,Microsoft还吸取了其他所有类似语言的经验,这些语言是近20年面向对象规则得到广泛应用后才开发出来的。
有一个很重要的问题要弄明白:C#就其本身而言只是一种语言,它本身不是.net本身的一部分。.net支持的一些特性,C#并不支持,
而C#语言的另一些特性,.net却不支持(如运算符重载).
因为C#和.Net一起使用,所以如果要使用C#高效的开发应用程序,理解Framework是非常重要.这里我就不再详谈了。
二、了解C#的一些基础
1、 c#在向控制台输出语句
语言 |
输入语句 |
|
|
输出不换行 |
输出换行 |
c# |
Console.Write() |
Console.WriteLine() |
2、转义换
语言 |
转义符 |
|
|
换行 |
空8个空格 |
|
\n |
\t |
c# |
Console.Write("我\n你"); |
Console.Write("成绩:\t"); |
3、c#接收用户在控制台输入的资料
语言 |
等待用户输入 |
|
c# |
Console.WriteLine("请输入密码:"); double.Parse(Console.ReadLine()); |
Console.ReadLine(); 接收字符串 |
案例:接收用户输入的两个整数,并计算其和是多少?
4、关于 XX.Parse()用法需要注意
XX.Parse(); 这里的XX可以是 int、double、bool等
它的用途是:把字符串转换为其它类型
下面的语法都是错误的:
int.Parse(“我和你”); 不行,因为“我和你”不是有效的数字
int.Parse(123); 不行,必须是字符串
int.Parse(“123.45”); 不行,因为”123.456”是小数,所以不能转换为整数
5、认识C#的三种注释
语言 |
注释 |
||
|
单行注释 |
多行注释 |
文档注释 |
c# |
//… |
/* |
/// ///… /// |
在实际的开发过程中,这三种注释都要用到,因为它便于让其他开发人员了解你做此程序的目的或者某一段代码的用法及定义这个变量是干什么用的。
6、Console.WriteLine()的语法格式(3种)
1)、 Console.WriteLine(); //输出一行
2)、Console.WriteLine(要输出的值);
3)、Console.WriteLine(“格式化字符串”,变量列表);
说明:{0}:占位符
依次使用{0}、{1}、{2}...与变量列表中的变量对应
下面是一个使用"+"拼接 和 使用格式化字符串输出结果的对比:
语言 |
格式化字符串 |
|
c# |
int a=2; |
int a=2; 结果:2+3=5 |
可能刚开始,有些初学者还不太习惯使用占位符的形式,但是以后你以后你就会慢慢发现,格式化字符串的强大功能之处。现不在这里多加描述。
把a的值赋值给占位符{0},把b的值赋值给占位符{1},以此类推
可能刚开始,有些初学者还不太习惯使用占位符的形式,但是以后你以后你就会慢慢发现,格式化字符串的强大功能之处。现不在这里多加描述。
案例:使用格式化字符串来拼接一句话:
__心__意,__心__意,__ 羊__泰
Console.WriteLine(“{0}心{0}意,{1}心{2}意,{1}羊{3}泰”,
”一”, ”三”, ”二”, ”开” )
那么请您思考一下占位符{0}、{1}、{2}、{3}分别代表什么?
最后,请大家打开VS工具,试着用"+"拼接符 和 使用 格式化字符串来进行制作以下小程序
题目: 输入姓名和年龄,输出结果
c#基础(一)的更多相关文章
- java基础集合经典训练题
第一题:要求产生10个随机的字符串,每一个字符串互相不重复,每一个字符串中组成的字符(a-zA-Z0-9)也不相同,每个字符串长度为10; 分析:*1.看到这个题目,或许你脑海中会想到很多方法,比如判 ...
- node-webkit 环境搭建与基础demo
首先去github上面下载(地址),具体更具自己的系统,我的是windows,这里只给出windows的做法 下载windows x64版本 下载之后解压,得到以下东西 为了方便,我们直接在这个目录中 ...
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- Golang, 以17个简短代码片段,切底弄懂 channel 基础
(原创出处为本博客:http://www.cnblogs.com/linguanh/) 前序: 因为打算自己搞个基于Golang的IM服务器,所以复习了下之前一直没怎么使用的协程.管道等高并发编程知识 ...
- [C#] C# 基础回顾 - 匿名方法
C# 基础回顾 - 匿名方法 目录 简介 匿名方法的参数使用范围 委托示例 简介 在 C# 2.0 之前的版本中,我们创建委托的唯一形式 -- 命名方法. 而 C# 2.0 -- 引进了匿名方法,在 ...
- HTTPS 互联网世界的安全基础
近一年公司在努力推进全站的 HTTPS 化,作为负责应用系统的我们,在配合这个趋势的过程中,顺便也就想去搞清楚 HTTP 后面的这个 S 到底是个什么含义?有什么作用?带来了哪些影响?毕竟以前也就只是 ...
- Swift与C#的基础语法比较
背景: 这两天不小心看了一下Swift的基础语法,感觉既然看了,还是写一下笔记,留个痕迹~ 总体而言,感觉Swift是一种前后端多种语言混合的产物~~~ 做为一名.NET阵营人士,少少多多总喜欢通过对 ...
- .NetCore MVC中的路由(1)路由配置基础
.NetCore MVC中的路由(1)路由配置基础 0x00 路由在MVC中起到的作用 前段时间一直忙于别的事情,终于搞定了继续学习.NetCore.这次学习的主题是MVC中的路由.路由是所有MVC框 ...
- .NET基础拾遗(5)多线程开发基础
Index : (1)类型语法.内存管理和垃圾回收基础 (2)面向对象的实现和异常的处理基础 (3)字符串.集合与流 (4)委托.事件.反射与特性 (5)多线程开发基础 (6)ADO.NET与数据库开 ...
- .NET 基础 一步步 一幕幕[面向对象之方法、方法的重载、方法的重写、方法的递归]
方法.方法的重载.方法的重写.方法的递归 方法: 将一堆代码进行重用的一种机制. 语法: [访问修饰符] 返回类型 <方法名>(参数列表){ 方法主体: } 返回值类型:如果不需要写返回值 ...
随机推荐
- 微信app支付(android端+java后台)
本文讲解使用微信支付接口完成在android开发的原生态app中完成微信支付功能, 文章具体讲解了前端android如何集成微信支付功能以及后台如何组装前端需要支付信息, 话不多话, 具体看文章内容吧 ...
- asp.net core 多端口监听&日志服务
1 配置多个端口监听 HostingAbstractionsWebHostBuilderExtensions. public static IWebHostBuilder UseUrls(this I ...
- HUST 1583 长度单位
1583 - 长度单位 时间限制:1秒 内存限制:128兆 536 次提交 103 次通过 题目描述 我们生活中常用的长度单位有英尺.英寸和厘米,众所周知它们之间的换算关系每英寸等于3厘米,而每英尺等 ...
- BZOJ:4869: [Shoi2017]相逢是问候
4869: [Shoi2017]相逢是问候 先说点正经的…… 显然做了有限次(我只知道是有限次,而且不会大,别人说是log次?)修改以后会达到不动点,即以后怎么修改都不变了. 然后就随便做了.(3个l ...
- [bzoj2665] [cqoi2012]编号
首先有一个直观暴力的想法.. 枚举每个数,如果这个数可行的话,就加进答案里,然后把和它超过4个位置相同的数去掉. 然后正解真的是这个>_< 假设取到了数x,只要和x有5位相同的数就可以排除 ...
- JSON对象添加删除属性
假如目前我们有如下一个Json对象 var jsonObj={ 'param1':22, 'param2' :33 }; 增加属性: 我们现在向该对象jsonObj中添加一个新的属性字段:param3 ...
- RabbitMQ 使用demo
1.新建一个控制台应用程序:如图 2.代码如下: using RabbitMQ.Client;using RabbitMQ.Client.Events;using System;using Syste ...
- volatile 与 synchronized 区别
在Java中,为了保证多线程读写数据时保证数据的一致性,可以采用两种方式: 同步 如用synchronized关键字,或者使用锁对象. volatile 使用volatile关键字用一句话概括vola ...
- js实现深拷贝和浅拷贝
浅拷贝: 思路----------把父对象的属性,全部拷贝给子对象,实现继承. 问题---------如果父对象的属性等于数组或另一个对象,那么实际上,子对象获得的只是一个内存地址,不会开辟新栈,不是 ...
- springboot注解使用说明
springboot注解 @RestController和@RequestMapping注解 我们的Example类上使用的第一个注解是 @RestController .这被称为一个构造型(ster ...