饮水思源:金老师的自学网站C# Guide

一、变量与数据类型

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# 结构化编程基础的更多相关文章

  1. Mysql学习笔记(002)-基础查询

    基础查询 # 进阶1:基础查询 /* 语法: select 查询列表 from 表名: 类似于:system.out.println(打印东西); 特点: 1.查询列表可以是:表中的字段,常量值,表达 ...

  2. Windows 系统判断MD5 值的办法

    Linux 系统的文件要传到Windows系统里面,传输过程中网络不稳定,为了判断文件是否完整传输,所以就用md5的方式判断是否同一个文件 Linux系统 [root@augusite ~]# md5 ...

  3. HearthBuddy炉石兄弟 Method 'Entity.GetRace' not found.

    解决方案 namespace Triton.Game.Mapping{// Token: 0x020004A4 RID: 1188[Attribute38("Entity")]pu ...

  4. 【GoLang】GO语言系列--002.GO语言基础

    002.GO语言基础 1 参考资料 1.1 http://www.cnblogs.com/vimsk/archive/2012/11/03/2736179.html 1.2 https://githu ...

  5. 002 01 Android 零基础入门 01 Java基础语法 01 Java初识 02 Java简介

    002 01 Android 零基础入门 01 Java基础语法 01 Java初识 02 Java简介 学习Java的基础语法 Java是一门编程语言,学习的逻辑其实和现实世界的语言是一样的,需要了 ...

  6. HTML 002 基础

    HTML 基础- 4个实例 HTML 标题 HTML 标题(Heading)是通过<h1> - <h6> 标签来定义的. 实例 <h1>这是一个标题</h1& ...

  7. [JavaWeb基础] 002.JSP和SERVLET初级入门

    上一篇中,我介绍了javaweb项目的创建和Tomcat的搭建和部署,接下来我们要在上一篇的基础上去讲解一下简单的jsp和servlet交互,做出一个简单的登陆功能页面.该例子主要讲解了从页面请求道后 ...

  8. Java基础教程——结构化编程

    结构化编程 各结构的图示请参见: https://www.cnblogs.com/tigerlion/p/10703926.html 选择结构 |-if:如果 |-else:其他:此外:否则. pub ...

  9. 🚴‍♂️全套MySQL数据库教程_Mysql基础入门教程,零基础小白自学MySQL数据库必备教程☔ #002 # 第二单元 MySQL数据类型、操作表#

    二.本单元知识点概述 (Ⅰ)知识点概述 二.本单元教学目标 (Ⅰ)重点知识目标 1.Mysql的数据类型2.如何选择数据类型3.创建表4.修改表5.删除表 (Ⅱ)能力目标 1.熟练创建数据库及删除数据 ...

随机推荐

  1. OCR (光学字符识别技术)安装

    一.安装homebrew 1)打开终端直接输入安装命令:     /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.c ...

  2. JS计算数组的总和

    1.最简单的遍历累计 var arr=[1,2,3,4,5,6] var sum =0 for(var i=0;i<arr.length;i++){ sum=sum+arr[i] } 2.利用r ...

  3. javascript基础(001)-js加减乘除注意事项(含类型转换)

    一,加减乘除注意事项: 1.任意类型'+'字符串都被强转字符串 2.数字和布尔类型'+'undefined 结果为 NaN (Not a Number) 3.'-','*','/'操作会尝试把数据转为 ...

  4. Table实现表头固定 内容滚动

    <div style="width: 800px;"> <div class="table-head"> <table> & ...

  5. Educational Codeforces Round 78 (Rated for Div. 2)

    A题 给出n对串,求s1,是否为s2一段连续子串的重排,串长度只有100,从第一个字符开始枚举,sort之后比较一遍就可以了: char s1[200],s2[200],s3[200]; int ma ...

  6. 一步一步解决centos6.5配置无线网卡的问题

    1.配置本地yum源 [local] name=local baseurl=file:///mnt/cdrom enable=1 gpgcheck=0 2.安装libnl rpm -ivh /mnt/ ...

  7. 全字段多条件搜索(api接口)

    近期在做项目时遇到了一个全表全字段多条件搜索的需求,在平时搜索最常见的就是 字段+like +‘% 条件%’这种模式,但遇到多条件多字段时,这种就不适用了. 表字段已知,条件未知,条件数量未知,这种情 ...

  8. Hadoop2.8分布式集群安装与测试

    1.hadoop2.x 概述 个).每一个都有相同的职能.一个是active状态的,一个是standby状态的.当集群运行时,只有active状态的NameNode是正常工作的,standby状态的N ...

  9. WPF布局容器

    1.StackPanel:堆栈面板,通过Orientation属性设置子元素的布局排列方向为“Vertical”(垂直)和“Horizontal”(水平),不写其默认值为“Vertical”,当设置为 ...

  10. adb shell常用命令

    一.文件操作相关命令 1.文件操作命令 子命令 参数 说明 cd 无 进入目录 cat [-beflnstuv] [-B bsize] [file...] 查看文件内容-n:显示行号-b:显示行号,但 ...