引子: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#之基础的更多相关文章

  1. java基础集合经典训练题

    第一题:要求产生10个随机的字符串,每一个字符串互相不重复,每一个字符串中组成的字符(a-zA-Z0-9)也不相同,每个字符串长度为10; 分析:*1.看到这个题目,或许你脑海中会想到很多方法,比如判 ...

  2. node-webkit 环境搭建与基础demo

    首先去github上面下载(地址),具体更具自己的系统,我的是windows,这里只给出windows的做法 下载windows x64版本 下载之后解压,得到以下东西 为了方便,我们直接在这个目录中 ...

  3. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  4. Golang, 以17个简短代码片段,切底弄懂 channel 基础

    (原创出处为本博客:http://www.cnblogs.com/linguanh/) 前序: 因为打算自己搞个基于Golang的IM服务器,所以复习了下之前一直没怎么使用的协程.管道等高并发编程知识 ...

  5. [C#] C# 基础回顾 - 匿名方法

    C# 基础回顾 - 匿名方法 目录 简介 匿名方法的参数使用范围 委托示例 简介 在 C# 2.0 之前的版本中,我们创建委托的唯一形式 -- 命名方法. 而 C# 2.0 -- 引进了匿名方法,在 ...

  6. HTTPS 互联网世界的安全基础

    近一年公司在努力推进全站的 HTTPS 化,作为负责应用系统的我们,在配合这个趋势的过程中,顺便也就想去搞清楚 HTTP 后面的这个 S 到底是个什么含义?有什么作用?带来了哪些影响?毕竟以前也就只是 ...

  7. Swift与C#的基础语法比较

    背景: 这两天不小心看了一下Swift的基础语法,感觉既然看了,还是写一下笔记,留个痕迹~ 总体而言,感觉Swift是一种前后端多种语言混合的产物~~~ 做为一名.NET阵营人士,少少多多总喜欢通过对 ...

  8. .NetCore MVC中的路由(1)路由配置基础

    .NetCore MVC中的路由(1)路由配置基础 0x00 路由在MVC中起到的作用 前段时间一直忙于别的事情,终于搞定了继续学习.NetCore.这次学习的主题是MVC中的路由.路由是所有MVC框 ...

  9. .NET基础拾遗(5)多线程开发基础

    Index : (1)类型语法.内存管理和垃圾回收基础 (2)面向对象的实现和异常的处理基础 (3)字符串.集合与流 (4)委托.事件.反射与特性 (5)多线程开发基础 (6)ADO.NET与数据库开 ...

  10. .NET 基础 一步步 一幕幕[面向对象之方法、方法的重载、方法的重写、方法的递归]

    方法.方法的重载.方法的重写.方法的递归 方法: 将一堆代码进行重用的一种机制. 语法: [访问修饰符] 返回类型 <方法名>(参数列表){ 方法主体: } 返回值类型:如果不需要写返回值 ...

随机推荐

  1. Centos 6 PXE安装

    author:JevonWei 版权声明:原创作品 192.168.198.134作为安装服务器,由httpd服务共享安装程序 192.168.198.134作为dhcp服务器,客户机获取IP 一.安 ...

  2. ADO.NET中SQL Server数据库连接池

    连接到数据库服务器通常由几个需要很长时间的步骤组成. 必须建立物理通道(例如套接字或命名管道),必须与服务器进行初次握手,必须分析连接字符串信息,必须由服务器对连接进行身份验证,必须运行检查以便在当前 ...

  3. IOS UIScrollView常用代理方法

    iOS UIScrollView代理方法有很多,从头文件中找出来学习一下 //只要滚动了就会触发 - (void)scrollViewDidScroll:(UIScrollView *)scrollV ...

  4. 规则集之探究何时使用HashSet、LinkedHashSet以及TreeSet?

    前言 Java集合框架三种主要类型的集合:规则集(Set).线性表(List).队列(Queue).Set用来存储不可重复的元素:List用来存储有元素构成的有序的集合:而Queue则用于存储用先进先 ...

  5. html5中的video标签和audio标签

    不管是否承认,flash早已不像过往那样如日中天了.亚马逊全面放弃flash.苹果放弃flash.安卓也放弃了移动端的flash支持.事实上flash已经不太适合web开发了,因为HTML5中的vid ...

  6. 2016-2017-2 《Java 程序设计》课堂实践项目

    目录 基本工具 基础内容 Hello World 和 模块分解 数组的使用 命令行参数 递归 分支语句 String类的使用 类的定义与测试 多态 IO与异常 数据库 网络与安全 数据结构应用 And ...

  7. SNS团队Beta阶段第一次站立会议(2017.05.22)

    1.立会照片 2.每个人的工作 成员任务分工: 成员 今天已完成的工作 明天计划完成的工作 罗于婕 修改之前的文档 界面优化  龚晓婷 修改之前的文档 界面优化 林仕庄 修复不能发音bug  界面图标 ...

  8. 团队作业4——第一次项目冲刺(Alpha版本)2nd day

    一.Daily Scrum Meeting照片 二.燃尽图 三.项目进展 界面 1.四个用户登录界面已经完成. 2.界面内的功能完成了一小部分. 登陆部分 1.QQ授权已经申请,还未通过. 2.通过好 ...

  9. 201521123119《Java程序设计》第7周学习总结

    1. 本周学习总结 2. 书面作业 Q1.ArrayList代码分析 Q1.1 解释ArrayList的contains源代码 这段代码的主要目的是判断在对ArrayList遍历时所用的方法,在输入参 ...

  10. openfire:openfire单独编译指定插件的方法

    方法一: openfire默认编译时,是同时编译主程序和所有在plugins目录中的插件.但进行插件开发时,这样编译就太费时费力.使用ant plugins可以只编译插件,能够节省部分时间.最节省时间 ...