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. Tkinter LabelFrame

       Tkinter LabelFrame: 在一个labelframe一个简单的容器构件.其主要目的是作为一个间隔或复杂的窗口布局容器. 在一个labelframe一个简单的容器构件.其主要目的是作 ...

  2. 「小程序JAVA实战」小程序我的个人信息页面开发(41)

    转自:https://idig8.com/2018/09/05/xiaochengxujavashizhanxiaochengxuwodegerenxinxiyemiankaifa40/ 已经完成了登 ...

  3. 避免IE在ajax请求时,返回json出现下载

    转自:https://blog.csdn.net/z521q1314/article/details/54409048

  4. C++STL:流迭代器

    流迭代器是一种迭代器适配器.istream_iterator用于读取输入流,ostream_iterator用于写输出流.这些迭代器将它们所对应的流视为特定类型的元素序列.使用流迭代器时,可以用泛型算 ...

  5. shell 中可以for 循环的时间加减日期格式

    ..};do # LAST_HOUR=`date -d '-${num} hour' +%H` 不可for循环,报格式错误 LAST_HOUR=`date "+%H" -d -${ ...

  6. 重构--去除丑陋的switch语句

    最近几天,在进行重构的时候,遇到了一个极其丑陋的代码(自己写的 /捂脸  当时时间紧,于是....),今天去重构的时候无论如何也想不出方法,去除这个丑陋的switch语句 ,于是写篇博客,让自己记住这 ...

  7. 3.Hadoop集群搭建之Zookeeper安装

    前期准备 下载Zookeeper 3.4.5 若无特殊说明,则以下操作均在master节点上进行 1. 解压Zookeeper #直接解压Zookeeper压缩包 tar -zxvf zookeepe ...

  8. Elasticsearch-PHP 安装

    安装 Elasticsearch-PHP只有三个要求你需要担心: PHP 5.3.9 或更高版本(查看更多信息) Composer ext-curl: Libcurl的PHP扩展 其它的依赖会通过Co ...

  9. pip 18.1 官方文档翻译

    快速开始 从pypi上安装一个包 $ pip install SomePackage 查看安装的包里面包含什么文件 pip show --files SomePackage 查看已经安装的包里面哪些是 ...

  10. DDA算法

    [DDA算法] Digital Differential Analyzer,DDA算法是一种线段扫描转换算法.(线段光栅化算法) DDA算法优缺点: 1.消除了直线方程中的乘法计算,而在x.y方向使用 ...