C#学习——简介(第一天)
一、控制台输出
在控制台输出:
console.writeline();
console.readkey();
加上后面一句是为了保证弹窗不会一闪而过。
二、注释
1.单行注释:
//int a=90;
快捷键:Ctrl+K+c
2.多行注释
2 /* int a=12; float b=10.2; */
快捷键: /* */
三、数据类型
1.值类型
- datetime 事件类型
- enum 枚举类型
- struct 结构类型
- int、float、double 数字类型
2.引用类型
- char 字符型(默认值为‘’,如 char a=‘you’)
- 类类型(用户通过class定义出来的类型)
3.其他类型
(1)整形
- int int32
- short(短整形) int16
- long (长整形) int64
(2)时间类型应用实例
//时间类型,获取当前时间()
DateTime p = DateTime.Now;
//获取国际时间
DateTime k = DateTime.UtcNow;
4.数据类型的转换
(1)隐式转换
int num=;
float num1=num;
套路:
- 只能由低精度类型转换为高精度类型;
- 转换的两种数据类型必须一致;
(2)显示类型转换
方法1:利用Parse方法转换
string str=“”;
int num=int.parse(str);
int strnum=;
float num2=float.parse(strnum);
方法2:利用Convert方法转换
string str=“21.52”;
double dou=convert.todouble(str);
int num=convert.toint(str);
套路:
- 只能由高精度类型向低精度类型转换(可能会丢失部分数据,如小数部分)
四、变量
1.作用域
int b = ;
int c = ;
if (b > )
{
int k = ;
Console.WriteLine("k");
}
(1)局部变量
上面的k即为局部变量,作用域:从大括号的开始到大括号的结束,如果要在大括号外面使用,需要再次定义变量。
(2)全局变量
上面的b、c即为全局变量,作用域即为整个主函数内部,在任何地方都能使用,不需要再次定义。
(3)static修饰的变量
用static修饰的变量(即为全局变量)没有作用限制,在任何地方均能使用,但是必须要写在顶部位置,如下图:

五、逻辑运算符(按位符)
位操作符是对数据按二进制位进行运算的操作符。位操作是其他很多语言都支持的操作,如C、C++和Java等,C#也不例外支持位操作。注意位操作支持的数据类型是基本数据类型,如byte、short、char、int、long等,C#支持的位操作有如下几种:
- 按位与 &
- 按位或 |
- 按位取反 ~
- 左移 <<
- 右移 >>
- 异或^
在C#中位操作同C的位操作没有什么区别,位操作的速度相对较快,而且如果熟练的话,处理起来也相对方便,特别是在一些权限等相关的设置中,比如:用1、2、4、8、16、32、64分别代表查看、添加、编辑、修改、删除、审批等权限值的时候,如果某个用户的最终权限是多种权限值的叠加,用位操作来判断是否具有某种权限是相当方便的了。
例一:
using System;
/* * 说明:本程序用以说明在C#中如何进行位操作。 * */
public class BitAction
{
public static void Main(string[] args)
{
int[] power = new int[] { , , , , , , };
int value = ;
/*
* 1的二进制形式: 00000001
* 2的二进制形式: 00000010
* 4的二进制形式: 00000100
* 8的二进制形式: 00001000
* 16的二进制形式: 00010000
* 32的二进制形式: 00100000
* 64的二进制形式: 01000000
* 126的二进制形式:01111110
*/
for (int i = ; i < power.Length; i++)
{
if ((value & power[i]) != )
{
Console.WriteLine("有power[{0}]={1}所代表的权限", i, power[i]);
}
}
Console.WriteLine("按位与:126&4={0}", value & );
Console.WriteLine("按位或:126|4={0}", value | );
Console.WriteLine("左移:126<<4={0}", value << );
Console.WriteLine("右移:126>>4={0}", value & );
Console.WriteLine("异或:126^4={0}", value ^ );
Console.WriteLine("按位取反:~126={0}", ~value);
Console.ReadLine();
}
}
结果如下:

例二:
//举例说明
using System;
class MikeCat
{
public static void Main()
{
int a=&;
Console.WriteLine("a={0}",a);
//6的二进制是00000110,3的二进制是00000011,按位与后等于00000010, 即2。
int b=|;
Console.WriteLine("b={0}",b);
//6的二进制是00000110,3的二进制是00000011,按位或后等于00000111,即7 int c=~;
Console.WriteLine("c={0}",c);
//6的二进制是00000110,按位取反后是11111001即-7 int d=^;
Console.WriteLine("d={0}",d);
//6的二进制是00000110,3的二进制是00000011,按位异或后等于00000101,即5 int e=<<;
Console.WriteLine("e={0}",e);
//6的二进制是00000110,左移三位后等于00101000,即48 int f=>>;
Console.WriteLine("f={0}",f);
//6的二进制是00000110,右移二位等于00000001,即1
}
}
按位符参考网址:http://www.cnblogs.com/yiki/archive/2008/03/05/1091378.html
C#学习——简介(第一天)的更多相关文章
- SIGAI深度学习第四集 深度学习简介
讲授机器学习面临的挑战.人工特征的局限性.为什么选择神经网络.深度学习的诞生和发展.典型的网络结构.深度学习在机器视觉.语音识别.自然语言处理.推荐系统中的应用 大纲: 机器学习面临的挑战 特征工程的 ...
- RabbitMQ学习总结 第一篇:理论篇
目录 RabbitMQ学习总结 第一篇:理论篇 RabbitMQ学习总结 第二篇:快速入门HelloWorld RabbitMQ学习总结 第三篇:工作队列Work Queue RabbitMQ学习总结 ...
- 学习KnockOut第一篇之Hello World
学习KnockOut第一篇之Hello World 笔者刚开始学习KnockOut.写的内容就相当于一个学习笔记.且在此处向官网致敬,比较喜欢他们家的Live Example版块,里面有jsFiddl ...
- ActionBarSherlock学习笔记 第一篇——部署
ActionBarSherlock学习笔记 第一篇--部署 ActionBarSherlock是JakeWharton编写的一个开源框架,使用这个框架,可以实现在所有的Android ...
- Java学习记录第一章
学习Java第一章的记录,这一章主要记录的是Java的最基础部分的了解知识,了解Java的特性和开发环境还有Java语言的优缺点. 计算机语言的发展大概过程:机器语言--->汇编语言---> ...
- oracle学习笔记第一天
oracle学习笔记第一天 --oracle学习的第一天 --一.几个基础的关键字 1.select select (挑选) 挑选出显示的--列--(可以多列,用“,”隔开,*表示所有列),为一条 ...
- javascript的ES6学习总结(第一部分)
ES6(ESNext学习总结——第一部分) ES6, 全称 ECMAScript 6.0 ,是 JavaScript 的下一个版本标准,2015.06 发版. ECMA每年6月份,发布一个版本 201 ...
- TensorFlow+Keras 01 人工智能、机器学习、深度学习简介
1 人工智能.机器学习.深度学习的关系 “人工智能” 一词最早是再20世纪50年代提出来的. “ 机器学习 ” 是通过算法,使用大量数据进行训练,训练完成后会产生模型 有监督的学习 supervise ...
- Web基础学习---HTML 第一天
Web基础学习---HTML 第一天 1 HTML标签 2.CSS Web开发基础HTML好吧离开Python几天...如何学好前端?? 多去看别人的网站.多看.多写.多练,(知乎.36Kr.)多练就 ...
- QT学习之第一个程序
QT学习之第一个程序 目录 手动创建主窗口 居中显示 添加窗口图标 显示提示文本 Message Box的应用 手动连接信号与槽 手动创建主窗口 窗口类型 QMainWindow: 可以包含菜单栏.工 ...
随机推荐
- 使用软件开发的部分思想,帮助HR处理Excel。
前言 上周末,XX给我抱怨:因为计算绩效奖金,把2个人的工资发错了,还被扣了500元.问的缘由得知,她每个月要处理十来个excel表格,每次都要手动修改里面的值,如果修改了一处,其他地方也要修改,然后 ...
- nyoj_7:街区最短路径问题
做这题时,先假设目标点在某个位置,然后对其稍微移动dx,dy,分析对ans的影响.最终得,选点时,使一半的横坐标比目标点横坐标小,一半的纵坐标比目标点小,这样得到的ans最小. 题目链接: http: ...
- 在Swift中实现 oc与swift的混编
在Swift中想要引用OC头文件(import),可采用混编的方法,这里以sqlite为例,采用OC-Swift桥的方式实现添加头文件1引入sqlite数据库的库文件 打开工程配置文件,在build ...
- HDOJ2003-求绝对值
Problem Description 求实数的绝对值. Input 输入数据有多组,每组占一行,每行包含一个实数. Output 对于每组输入数据,输出它的绝对值,要求每组数据输出一行,结果 ...
- 五. Java集合概要
了解了Java内存相关的内容后,现在来简单介绍下Java的集合. Set:不含有重复数据的集合.常用的对象HashSet,TreeSet,LinkedHashSet.HashSet拥有很好的性能,其数 ...
- 基于.net的微服务架构的开发测试环境运维实践
眼下,做互联网应用,最火的架构是微服务,最热的研发管理就是DevOps, 没有之一.微服务.DevOps已经被大量应用,它们已经像传说中的那样,可以无所不能.特来电云平台,通过近两年多的实践,发现完全 ...
- 人工智能(AI)库TensorFlow 踩坑日记之二
上次 踩坑日志之一 遗留的问题终于解决了,所以作者(也就是我)终于有脸出来写第二篇了. 首先还是贴上 卷积算法的示例代码地址 :https://github.com/tensorflow/models ...
- 《Unity3D-播放被打中的时候粒子的特效的代码》
//思路:首先我们需要给这个敌人身上放置上被打中的时候的粒子效果的组件,然后在获取和初始化这个组件然后在播放这个组件.虽然这个过程很简单但是我们要让 组件随着敌人的移动的时候随时触发就必须将这个组件的 ...
- ASP.NET-页面间的数据传递
暑假期间做项目时遇到相关问题,总结如下,与大家分享 1.通过查询字符串传递 这种方式是将参数附加在网址的后面,传递数据简单,但容易暴露,一般用于传递一些简单的数据. 例如,在Default1.aspx ...
- [Git] 1、常用Git命令行总结(一)
一.GIT CLONE最常用的有如下几个 1.最简单直接的命令:git clone xxx.git 2.如果想clone到指定目录:git clone xxx.git “指定目录” 3.clone时创 ...