C sharp #002# 结构化编程基础
一、变量与数据类型
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
int intValue = ;
long longValue = 100L;
double doubleValue = 100.5d;
float floatValue = 100.5f; Console.WriteLine("==========GetType()===============");
Console.WriteLine(intValue.GetType());
Console.WriteLine(longValue.GetType());
Console.WriteLine(doubleValue.GetType());
Console.WriteLine(floatValue.GetType()); Console.WriteLine(typeof(int));
Console.WriteLine(typeof(int) == intValue.GetType()); // typeof可用于检测变量是否是特定类型
// => System.Int32
// => System.Int64
// => System.Double
// => System.Single // => System.Int32
// => True
Console.ReadKey();
Console.WriteLine("==========String or string?===============");
Console.WriteLine(typeof(String) == typeof(string)); // => True
// 但是string仍然属于引用类型,生存于“堆”中
Console.ReadKey(); Console.WriteLine("==========var===============");
var v1 = "hello"; // 但是用var关键字定义变量时,c#可以根据右边的赋值,自动推断类型
var v2 = new Dictionary<string, List<int>>();
Console.WriteLine("type of v1: {0}\ntype of v2: {1}", v1.GetType(), v2.GetType());
Console.ReadKey(); Console.WriteLine("==========sizeof===============");
Console.WriteLine("int所占字节的大小" + sizeof(int)); // => 4
Console.WriteLine("long所占字节的大小" + sizeof(long)); // => 8
long v3 = 22L;
int v4 = (int) v3; // 所占字节大的赋给所占字节小的需要类型转换
Console.ReadKey(); // string转化为数值类型
v4 = int.Parse("") + Convert.ToInt32("");
Console.WriteLine("v4: " + v4); // 隐式调用了v4.ToString()
Console.ReadKey();
}
}
}
二、C#中For each的写法
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
var names = new List<string> { "<name>", "Ana", "Felipe" };
foreach (var name in names)
{
Console.WriteLine($"Hello {name.ToUpper()}!");
} int[] numbers = { , , };
foreach (var number in numbers)
{
Console.WriteLine(number);
} Console.ReadKey();
}
}
}
三、C#控制台程序编程技巧
https://docs.microsoft.com/en-us/dotnet/api/system.console?view=netframework-4.8#methods
四、简易图片浏览器
private void button1_Click(object sender, EventArgs e)
{
loadPic();
} /// <summary>
/// 加载图片
/// </summary>
private void loadPic()
{
DialogResult result = openFileDialog1.ShowDialog();
if (result == DialogResult.OK)
{
MessageBox.Show("即将为你打开图片:" + openFileDialog1.FileName);
pictureBox1.ImageLocation = openFileDialog1.FileName;
}
else
{
MessageBox.Show("操作已取消");
}
}
五、BigInteger以及浮点数的比较
using System;
using System.Numerics; namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
// 计算机使用固定的位数来保存数值,因此,能处理的数值大小是有限的,
// 当要处理的数值超过了这一范围时,计算机将会自动截断数值的二进制表
// 示为它所能处理的最多位数。 // 需要添加对System.Numerics程序集的引用
BigInteger bi = long.MaxValue;
bi *= ;
Console.WriteLine(long.MaxValue);
Console.WriteLine(bi);
// => 9223372036854775807
// => 18446744073709551614
Console.ReadKey(); double i = 0.0001;
double j = 0.00010000000000000001;
Console.WriteLine(i == j); // => True
// 计算机不能精确地表达浮点数(特殊形式的除外),因此,当
// 需要比较两个浮点数是否相等时,应该比较其差的绝对值是否
// 在某个允许范围之内即可,无法做到像数学那样的精确比较。
Console.WriteLine(Math.Abs(i - j) < 1e-); // => True
Console.ReadKey();
}
}
}
C sharp #002# 结构化编程基础的更多相关文章
- Mysql学习笔记(002)-基础查询
基础查询 # 进阶1:基础查询 /* 语法: select 查询列表 from 表名: 类似于:system.out.println(打印东西); 特点: 1.查询列表可以是:表中的字段,常量值,表达 ...
- Windows 系统判断MD5 值的办法
Linux 系统的文件要传到Windows系统里面,传输过程中网络不稳定,为了判断文件是否完整传输,所以就用md5的方式判断是否同一个文件 Linux系统 [root@augusite ~]# md5 ...
- HearthBuddy炉石兄弟 Method 'Entity.GetRace' not found.
解决方案 namespace Triton.Game.Mapping{// Token: 0x020004A4 RID: 1188[Attribute38("Entity")]pu ...
- 【GoLang】GO语言系列--002.GO语言基础
002.GO语言基础 1 参考资料 1.1 http://www.cnblogs.com/vimsk/archive/2012/11/03/2736179.html 1.2 https://githu ...
- 002 01 Android 零基础入门 01 Java基础语法 01 Java初识 02 Java简介
002 01 Android 零基础入门 01 Java基础语法 01 Java初识 02 Java简介 学习Java的基础语法 Java是一门编程语言,学习的逻辑其实和现实世界的语言是一样的,需要了 ...
- HTML 002 基础
HTML 基础- 4个实例 HTML 标题 HTML 标题(Heading)是通过<h1> - <h6> 标签来定义的. 实例 <h1>这是一个标题</h1& ...
- [JavaWeb基础] 002.JSP和SERVLET初级入门
上一篇中,我介绍了javaweb项目的创建和Tomcat的搭建和部署,接下来我们要在上一篇的基础上去讲解一下简单的jsp和servlet交互,做出一个简单的登陆功能页面.该例子主要讲解了从页面请求道后 ...
- Java基础教程——结构化编程
结构化编程 各结构的图示请参见: https://www.cnblogs.com/tigerlion/p/10703926.html 选择结构 |-if:如果 |-else:其他:此外:否则. pub ...
- 🚴♂️全套MySQL数据库教程_Mysql基础入门教程,零基础小白自学MySQL数据库必备教程☔ #002 # 第二单元 MySQL数据类型、操作表#
二.本单元知识点概述 (Ⅰ)知识点概述 二.本单元教学目标 (Ⅰ)重点知识目标 1.Mysql的数据类型2.如何选择数据类型3.创建表4.修改表5.删除表 (Ⅱ)能力目标 1.熟练创建数据库及删除数据 ...
随机推荐
- Java Properties 加载
static{ Properties prop = new Properties(); prop.load(Thread.currentThread().getContextClassLoader() ...
- Ubuntu19.10安装
# 有一说一,UI好看多了 正文开始 # 1.做U盘 # 2.修改BIOS选择U盘引导 底下有提示,F5/F6切换项目 # 3.进入引导盘 这个界面多了比19.10之前的版本多了两个选项, ...
- HashMap面试必问的6个点,你知道几个?
一.HashMap的实现原理? 此题可以组成如下连环炮来问 你看过HashMap源码嘛,知道原理嘛? 为什么用数组+链表? hash冲突你还知道哪些解决办法? 我用LinkedList代替数组结构可以 ...
- MySQL必知必会-官方数据库表及SQL脚本导入生成
最近在复习SQL语句,看的是MySQL必知必会这本书,但是发现附录中只有表设计,没有表的具体数据.所以在学习相应的语句中体验不是很好,去网上查了数据库的内容,自己慢慢导入到了数据库中.把表放出来作为参 ...
- DS-5获取License
1.点击Eclipse for DS-5,打开DS-5,弹出workspace选择窗口 2.点击OK,打开DS-5,弹出License窗口,license需要自己去解决
- GHOST CMS - Package.json
Package.json The package.json file is a set of meta data about a theme. package.json 文件是一组关于主题的元数据. ...
- Spark Streaming vs. Structured Streaming
简介 Spark Streaming Spark Streaming是spark最初的流处理框架,使用了微批的形式来进行流处理. 提供了基于RDDs的Dstream API,每个时间间隔内的数据为一个 ...
- Java使用iBatis批量插入数据到Oracle数据库
Java使用iBatis批量插入数据到Oracle数据库 因为我们的数据跨库(mysql,oracle),单独取数据的话需要遍历好多遍,所以就想着先从mysql数据库中取出来的数据然后在oracle数 ...
- JPA中实现双向一对多的关联关系
场景 JPA入门简介与搭建HelloWorld(附代码下载): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103473937 ...
- 云原生技术之Docker入门
1. 为什么需要容器? 下图是一个比较传统的软件架构 做过java的同学可能对上图的架构方式比较了解,我们通常会将一个应用程序生成一个war包,放到一个tomcat容器当中并在一台虚拟机(VM)中启动 ...