C#基础入门 一

基本输入输出函数

  • 简单程序输出helloworld
using System;//引入System库
namespace MainClass
{
class MainClass
{
public static void Main(string[] args)
{
Console.WriteLine("hello world");//Console类的输出方法
}
}
}
  • Console.Write("{0} world",hello);等同于直接输出

  • 输入函数

    • Console.Read();//从标准输入流读取下一个字符
    • Console.ReadKey();//读取一个字符或功能键
    • Console.ReadLine();//从标准输入流读取下一行字符
public static void Main(string[] args)
{
string info= Console.ReadLine();
Console.WriteLine(info);
}

字符转换

  • 隐式转换:是一种安全类型的转换,不会导致数据丢失,不需要任何特殊的语法,由小到大时系统会自动的进行隐式转换。
int age=10;
double sum=age;
  • 强制转换:需要强制转换运算符,由大变小需要用,需要付出缺失精度的代价。
  • double→float:
double speed=10.4f;
float minSpeed=(float)speed;
  • string→int:
string num="123";
int n=int.Parse(num);
int m=Convert.ToInt16(num);

bool类型

  • bool数据类型:非真既假,在C#语言中,bool关键字是System.Boolean的别名,用于声明变量来存储布尔值true和false。C#中不存在bool类型与其他类型之间的相互转换。

关系运算符

  • 关系运算符:> >= < <= == !=
  • 主要用于比较运算,比较情况真假用bool类型变量存储。

逻辑运算符

  • &&(逻辑与):运算符两边表达式同时为真,结果为真;
  • ||(逻辑或):同时为假,结果为假;
  • !(逻辑非):将表达式的结果取反。

if语句

用法与C语言相同

条件运算符:条件表达式?表达式1:表达式2

例子:int c=a>b?a:b

  • 编一个简单地if语句的例子
namespace ConsoleApplication1Demo1
{
class MainClass
{ public static void Main(string[] args)
{
int num = Console.Read();
if (num > 10) { Console.WriteLine(num-10);}
else if(num>0){Console.WriteLine(num);}
else { Console.WriteLine(num + 10); }
}
}
}
  • 可以从下图看出(图1),结果不正确,但是感觉逻辑上没错误,仔细看了一下,read只能读下一个字符,但是换成readline也不对。其实走入了一个误区,总觉得定义了int型读入的就是int,字符串是无法隐式转换成int的,不管read还是readline,都要把字符型转为int型才能正常运算,所以要把int num = Console.Read();改为int num=Convert.ToInt16(Console.ReadLine());

  • 如下图,运行正确(图2)

switch语句

  • swich--开关,case--情况,case后面标签只能是整形常量或者整型常量表达式,不能是变量;整个default语句可以舍掉;多个case可以运行一个语句块。

is和as运算符

  • is:检查对象是否与给定类型兼容;
  • as:运算符类似于强制转换操作,用于检查在兼容的引用类型之间执行某些类型的转换,如果转换是不可能的,sa返回null而不引发异常。
  • 用法示例:
int a=12000;
int b=0;
if(a is int){
b=a;
Console.WriteLine(b); string a="b";
string b;
b=a as string;
Console.WriteLine(b);
}

C#基础入门 一的更多相关文章

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

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

  2. 「译」JUnit 5 系列:基础入门

    原文地址:http://blog.codefx.org/libraries/junit-5-basics/ 原文日期:25, Feb, 2016 译文首发:Linesh 的博客:JUnit 5 系列: ...

  3. .NET正则表达式基础入门

    这是我第一次写的博客,个人觉得十分不容易.以前看别人写的博客文字十分流畅,到自己来写却发现十分困难,还是感谢那些为技术而奉献自己力量的人吧. 本教程编写之前,博主阅读了<正则指引>这本入门 ...

  4. 从零3D基础入门XNA 4.0(2)——模型和BasicEffect

    [题外话] 上一篇文章介绍了3D开发基础与XNA开发程序的整体结构,以及使用Model类的Draw方法将模型绘制到屏幕上.本文接着上一篇文章继续,介绍XNA中模型的结构.BasicEffect的使用以 ...

  5. 从零3D基础入门XNA 4.0(1)——3D开发基础

    [题外话] 最近要做一个3D动画演示的程序,由于比较熟悉C#语言,再加上XNA对模型的支持比较好,故选择了XNA平台.不过从网上找到很多XNA的入门文章,发现大都需要一些3D基础,而我之前并没有接触过 ...

  6. Shell编程菜鸟基础入门笔记

    Shell编程基础入门     1.shell格式:例 shell脚本开发习惯 1.指定解释器 #!/bin/bash 2.脚本开头加版权等信息如:#DATE:时间,#author(作者)#mail: ...

  7. [Spring框架]Spring AOP基础入门总结二:Spring基于AspectJ的AOP的开发.

    前言: 在上一篇中: [Spring框架]Spring AOP基础入门总结一. 中 我们已经知道了一个Spring AOP程序是如何开发的, 在这里呢我们将基于AspectJ来进行AOP 的总结和学习 ...

  8. [Spring框架]Spring AOP基础入门总结一.

    前言:前面已经有两篇文章讲了Spring IOC/DI 以及 使用xml和注解两种方法开发的案例, 下面就来梳理一下Spring的另一核心AOP. 一, 什么是AOP 在软件业,AOP为Aspect ...

  9. RobotFramework - 基础入门

    Robot Framework Wiki HomePage Robot Framework User Guide Robot Framework documentation Robot Framewo ...

  10. .NET ORM 的 “SOD蜜”--零基础入门篇

    PDF.NET SOD框架不仅仅是一个ORM,但是它的ORM功能是独具特色的,我在博客中已经多次介绍,但都是原理性的,可能不少初学的朋友还是觉得复杂,其实,SOD的ORM是很简单的.下面我们就采用流行 ...

随机推荐

  1. 4、数据类型二:Lists

    1.关于list的组织形式 列表数据类型(Lists)可以存储一个有序的字符串列表,常用的操作时向列表两段添加元素,或者获取列表的某一个片段.列表类型的底层实现是一个双向链表(double linke ...

  2. vue 时间选择器组件

    vue 时间选择器组件 组件效果: 单文件组件: <template> <div class="date-pickers"> <!--date为com ...

  3. 黑暗之光 Day1

    1. 设置鼠标指针图标 Build Setting -> Player Setting 2. 添加雾的效果 Window->Lighting->Settings. 3. 任意键按下事 ...

  4. (一)Spring’s MVC Architecture

    Spring’s MVC module Spring’s MVC module is based on front controller design pattern followed by MVC ...

  5. script放置最佳位置(转载)

    html文件是自上而下的执行方式,但引入的css和javascript的顺序有所不同,css引入执行加载时, 程序仍然往下执行,而执行到<script>脚本是则中断线程,待该script脚 ...

  6. ascii编码转utf8编码,适用于python2

    def ascii2utf8(ascii): line = eval(("'" + ascii.strip() + "'")) return line

  7. listener does not currently know of SID given in connect descriptor

    一次连接数据库怎么也连接不上,查了多方面资料,终于找到答案,总结 首先应该保证数据库的服务启动 在myeclipse的数据库视图中点 右键->new 弹出database driver的窗口, ...

  8. ORM思想

    -------------------siwuxie095 什么是 ORM 思想 1.Hibernate 使用 ORM 思想对数据库进行 CRUD 操作 2.ORM:Object Relational ...

  9. Io 异常: The Network Adapter could not establish the connection解决方案

    Io 异常: The Network Adapter could not establish the connection解决方案 2016年06月04日 13:30:21 阅读数:46589 Io ...

  10. Mask_rcnn openpose realsense

    cd /home/luo/Desktop/MyFile/Mask_RCNN_Openpose_Realsense python realsense_mask_openpose_2019032601.p ...