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);
}