C#基础入门 一
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#基础入门 一的更多相关文章
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- 「译」JUnit 5 系列:基础入门
原文地址:http://blog.codefx.org/libraries/junit-5-basics/ 原文日期:25, Feb, 2016 译文首发:Linesh 的博客:JUnit 5 系列: ...
- .NET正则表达式基础入门
这是我第一次写的博客,个人觉得十分不容易.以前看别人写的博客文字十分流畅,到自己来写却发现十分困难,还是感谢那些为技术而奉献自己力量的人吧. 本教程编写之前,博主阅读了<正则指引>这本入门 ...
- 从零3D基础入门XNA 4.0(2)——模型和BasicEffect
[题外话] 上一篇文章介绍了3D开发基础与XNA开发程序的整体结构,以及使用Model类的Draw方法将模型绘制到屏幕上.本文接着上一篇文章继续,介绍XNA中模型的结构.BasicEffect的使用以 ...
- 从零3D基础入门XNA 4.0(1)——3D开发基础
[题外话] 最近要做一个3D动画演示的程序,由于比较熟悉C#语言,再加上XNA对模型的支持比较好,故选择了XNA平台.不过从网上找到很多XNA的入门文章,发现大都需要一些3D基础,而我之前并没有接触过 ...
- Shell编程菜鸟基础入门笔记
Shell编程基础入门 1.shell格式:例 shell脚本开发习惯 1.指定解释器 #!/bin/bash 2.脚本开头加版权等信息如:#DATE:时间,#author(作者)#mail: ...
- [Spring框架]Spring AOP基础入门总结二:Spring基于AspectJ的AOP的开发.
前言: 在上一篇中: [Spring框架]Spring AOP基础入门总结一. 中 我们已经知道了一个Spring AOP程序是如何开发的, 在这里呢我们将基于AspectJ来进行AOP 的总结和学习 ...
- [Spring框架]Spring AOP基础入门总结一.
前言:前面已经有两篇文章讲了Spring IOC/DI 以及 使用xml和注解两种方法开发的案例, 下面就来梳理一下Spring的另一核心AOP. 一, 什么是AOP 在软件业,AOP为Aspect ...
- RobotFramework - 基础入门
Robot Framework Wiki HomePage Robot Framework User Guide Robot Framework documentation Robot Framewo ...
- .NET ORM 的 “SOD蜜”--零基础入门篇
PDF.NET SOD框架不仅仅是一个ORM,但是它的ORM功能是独具特色的,我在博客中已经多次介绍,但都是原理性的,可能不少初学的朋友还是觉得复杂,其实,SOD的ORM是很简单的.下面我们就采用流行 ...
随机推荐
- VS2013 查看程序各个函数的CPU利用率<转>
自己写的程序CPU占用率过高,无法锁定原因时,可以用VS2013帮忙检测 1. 打开VS 性能分析 2. 启动项目进行检测 3. 选择CPU采样 完成 4. 分析一段时间 然后停止分析 5. 选择显示 ...
- Dubbo限制大数据传输的解决方案
当service层向web层传输大数据容量的对象时,会受到Dubbo的限制,报类似如下异常: com.alibaba.dubbo.remoting.transport.AbstractCodec.ch ...
- Ubuntu下配置eclipse环境
一.安装JDK,配置Java环境变量 1.下载JDK,Java SE 8的官方网址是http://www.oracle.com/technetwork/java/javase/downloads/jd ...
- ActiveMQ集群整体认识
出自:https://segmentfault.com/a/1190000014592517 前言 最终需要掌握 Replicated LevelDB Store部署方式,这种部署方式是基于ZooKe ...
- 网页静态化—redis | freemarker
1. 学习计划 1.商品详情页面展示,动态展示 jsp + redis 2.使用freemarker实现网页静态化 3.ActiveMq同步生成静态网页 两个方案对比,方案一依赖web容器,red ...
- python3企业微信群组报警
公司提出一个需求需要做一个企业微信的一个消息推送,需要将消息发送到聊天群里详细信息如下. 如何创建应用请阅读我的上篇文章:https://www.cnblogs.com/wangyajunblog/p ...
- DVI与VGA有什么区别
[DVI与VGA有什么区别] DVI接口的传输信号采用全数字格式,与之对应的是采用模拟信号的VGA接口. VGA和DVI的区别,首先VGA模拟信号的传输比较麻烦,首先是将电脑内的数字信号转换为模拟信号 ...
- 使用Cloudrea Manager在CDH集群中添加kafka服务节点,更改borker.id配置后无法启动
需要保证meta.properties文件中的broker.id和cloudrea manager的web页面上kafka配置的broker.id一致,最好让server.properties中的br ...
- line1: 1: Syntax error: word unexpected (expecting ")")
行时错误:line1: 1: Syntax error: word unexpected (expecting ")") 查看Makefile编译规则,可能由于依赖关系造成编译器使 ...
- [SoapUI] 在Test Step 下加Script Assertion,用 messageExchange 获取当前步骤的response content
//Get response content of the current request def response = messageExchange.getResponseContent() // ...