C#之基础
引子:C#是.NET平台所支持的多种语言中的一门编程语言,它是一门面向对象编程语言。面向对象语言的三大基本特性是:封装、继承、多态。学过C#的人肯定都知道,C#和Java极其相似。我已经学过C语言,现在看来,C#对我而言无非就是语法上的不同。所以我也会按照一个有过编程基础的角度来写。
第一个C#程序
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace HK1
{
class ZuoYe2
{
static void Main(String[] args)
{
Console.Write("请输入姓名:");
string name = Console.ReadLine();
Console.Write("请输入年龄:");
int age = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("姓名:{0}\t年龄:{1}",name,age);
}
}
}
学过C语言的人肯定知道什么头文件、主函数之类的词吧。C#和C语言就不同了,和Java倒相似。
我就拿上面的代码来解释了:
我们可以看见1-5行前面都是using System.开头的,这个在C#里面的作用是 引入命名空间。这和C语言里的头文件的含义是一样的,都是引入系统自带的功能。
第7行有个 namespace关键字,什么意思呢? 就是创建命名空间。
第9行有个 class关键字,意思就是创建一个名为ZuoYe2的类。有Java基础的人肯定知道类是什么了。
第11行就是主方法,也就是程序的入口,这里的语法是规定的。
注意:C#的主方法的第一个字母必须大写,而且必须有 static 关键字。
控制台的输入输出
C#使用Console类向控制台输入/输出数据。
输出:Console.WriteLine() 或者 Console.Write()
以上两种方法有什么区别呢? 第一种就是输出后自动换行,第二种就是输出后不换行。
使用方法
输出类型 语法 示例 输出结果
输出字符串变量 Console.WriteLine("字符串常量"); Console.WriteLine("我很帅”) 我很帅
输出单个变量 Console.WriteLine(变量); Console.WriteLine(A); A
输出连字符(+)混合输出 Console.WriteLine("字符串"+变量); int age=18 Console.WriteLine("年龄:"+age+"岁"); 年龄:18岁
格式化输出 Console.WriteLine("字符串{0}{1}",表达式1,,表达式2); 此处就相当于是用{索引}这个来给表达式占位 ,索引从0开始
输入:Console.ReadLine() 或者 Console.Read()
区别:前者接收输入的全部字符内容,后者接收第一个。
数据类型
基本数据类型:int short long byte float double decimal bool string char
变量命名方法:驼峰命名法。就是第一个单词全小写,第二个单词的首字母大写,看起来像骆驼。如:stuAge stuName
常量:在C#中定义常量需要用到关键字 const 如:const double PI = 3.14 常量名一般大写
数据类型转换
(1)自动类型转换(隐式转换):小类型 转为 大类型,由程序自动完成
(2)强制类型转换(显示转换):大类型 转为 小类型,由程序员手动写代码完成
方式1:xxx.Parse(string) xxx:目标类型 只能是:将字符串 转为 其它类型
转为int:int.Parse()
转为float:float.Parse()
方式2:Convert.Toxxx(任意类型) 功能:任意类型 转为 任意类型
转为int: Convert.ToInt32(值)
转为double:Convert.ToDouble(值)
利用此方法转换要知道转为float类型的关键字是single,而不是float。
方式3:直接强转 丢失精度
int a = (int)12.3;
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 基础 一步步 一幕幕[面向对象之方法、方法的重载、方法的重写、方法的递归]
方法.方法的重载.方法的重写.方法的递归 方法: 将一堆代码进行重用的一种机制. 语法: [访问修饰符] 返回类型 <方法名>(参数列表){ 方法主体: } 返回值类型:如果不需要写返回值 ...
随机推荐
- Centos 6 PXE安装
author:JevonWei 版权声明:原创作品 192.168.198.134作为安装服务器,由httpd服务共享安装程序 192.168.198.134作为dhcp服务器,客户机获取IP 一.安 ...
- ADO.NET中SQL Server数据库连接池
连接到数据库服务器通常由几个需要很长时间的步骤组成. 必须建立物理通道(例如套接字或命名管道),必须与服务器进行初次握手,必须分析连接字符串信息,必须由服务器对连接进行身份验证,必须运行检查以便在当前 ...
- IOS UIScrollView常用代理方法
iOS UIScrollView代理方法有很多,从头文件中找出来学习一下 //只要滚动了就会触发 - (void)scrollViewDidScroll:(UIScrollView *)scrollV ...
- 规则集之探究何时使用HashSet、LinkedHashSet以及TreeSet?
前言 Java集合框架三种主要类型的集合:规则集(Set).线性表(List).队列(Queue).Set用来存储不可重复的元素:List用来存储有元素构成的有序的集合:而Queue则用于存储用先进先 ...
- html5中的video标签和audio标签
不管是否承认,flash早已不像过往那样如日中天了.亚马逊全面放弃flash.苹果放弃flash.安卓也放弃了移动端的flash支持.事实上flash已经不太适合web开发了,因为HTML5中的vid ...
- 2016-2017-2 《Java 程序设计》课堂实践项目
目录 基本工具 基础内容 Hello World 和 模块分解 数组的使用 命令行参数 递归 分支语句 String类的使用 类的定义与测试 多态 IO与异常 数据库 网络与安全 数据结构应用 And ...
- SNS团队Beta阶段第一次站立会议(2017.05.22)
1.立会照片 2.每个人的工作 成员任务分工: 成员 今天已完成的工作 明天计划完成的工作 罗于婕 修改之前的文档 界面优化 龚晓婷 修改之前的文档 界面优化 林仕庄 修复不能发音bug 界面图标 ...
- 团队作业4——第一次项目冲刺(Alpha版本)2nd day
一.Daily Scrum Meeting照片 二.燃尽图 三.项目进展 界面 1.四个用户登录界面已经完成. 2.界面内的功能完成了一小部分. 登陆部分 1.QQ授权已经申请,还未通过. 2.通过好 ...
- 201521123119《Java程序设计》第7周学习总结
1. 本周学习总结 2. 书面作业 Q1.ArrayList代码分析 Q1.1 解释ArrayList的contains源代码 这段代码的主要目的是判断在对ArrayList遍历时所用的方法,在输入参 ...
- openfire:openfire单独编译指定插件的方法
方法一: openfire默认编译时,是同时编译主程序和所有在plugins目录中的插件.但进行插件开发时,这样编译就太费时费力.使用ant plugins可以只编译插件,能够节省部分时间.最节省时间 ...