【C#】变量:整数类型、浮点类型、文本和布尔类型
整数类型 类型 别名 允许的值 sbyte System.SByte 介于-128和127之间整数 byte System.byte 介于0和255之间的整数 short System.short 介于-32768和32767之间的整数 u...
整数类型 类型 别名 允许的值 sbyte System.SByte 介于-128和127之间整数 byte System.byte 介于0和255之间的整数 short System.short 介于-32768和32767之间的整数 u...
下载所需 Visual Studio 版本的正确引导程序,并将其复制到要用作本地布局源位置的目录中。 引导程序是用于创建、更新或修改本地布局的可执行文件。 必须连接 Internet 才能完成此步骤。
使用管理员权限打开命令提示符,导航到下载引导程序的目录,然后使用引导程序参数创建本地布局。 请注意,必须具有 Internet 连接才能完成此步骤。 下面演示了常见的本地布局创建示例。 有关其他示例,请参阅创建 Visual Studio 的网络布局页面和命令行参数示例页。 可以通过从语言区域设置列表中将 en-US
更改为区域设置来安装非英语语言,也可以使用组件和工作负载列表来进一步自定义本地布局。
vs_enterprise.exe --layout c:\localVSlayout
备注:请确保完整安装路径少于 80 个字符,并且计算机具有足够的存储空间。 完整的 Visual Studio 本地布局至少需要 45 GB 磁盘空间。 有关详细信息,请参阅系统需求。
vs_enterprise.exe --layout c:\localVSlayout --add Microsoft.VisualStudio.Workload.ManagedDesktop --add Microsoft.VisualStudio.Workload.NetWeb --lang en-US
vs_enterprise.exe --layout c:\localVSlayout --add Microsoft.VisualStudio.Workload.NativeDesktop --includeRecommended --includeOptional --lang en-US
当你从本地布局安装 Visual Studio 时,Visual Studio 安装程序会使用这些文件的本地版本。 不过,如果你在安装过程中选择的组件不在布局中,则 Visual Studio 安装程序将尝试从 Internet 下载。 若要确保仅安装先前下载的文件,请使用在创建本地布局时所用的相同命令行选项。 若要确保安装程序安装产品时不会尝试访问 Internet,请使用 --noweb
开关。
例如,如果使用以下命令创建了本地安装布局:
vs_enterprise.exe --layout c:\localVSlayout --add Microsoft.VisualStudio.Workload.ManagedDesktop --add Microsoft.VisualStudio.Workload.NetWeb --includeOptional --lang en-US
然后使用此命令运行安装并阻止客户端计算机访问 Internet:
c:\localVSlayout\vs_enterprise.exe --noWeb --add Microsoft.VisualStudio.Workload.ManagedDesktop --add Microsoft.VisualStudio.Workload.NetWeb --includeOptional
重要:如果使用 Visual Studio Community,系统可能会提示你要在安装后的 30 天内登录,但这不会影响你使用该产品的功能。
备注:如果你遇到签名无效的错误,则必须安装更新的证书。 在本地布局中打开证书文件夹。 双击每个证书文件,然后单击完成证书管理器向导。 如果要求输入密码,请将密码留空。
(以上步骤根据需要取舍,好像大部分能省略!:-))
01. 打开Visual Studio Installer,导出配置:
在 vs_Professional.exe 或其它安装文件的目录中,使用命令行程序输入下载创建代码:
.\vs_Professional.exe --layout D:\VS2022\Visual_Studio_Pro_2022 --config D:\VS2022\.vsconfig --lang zh-CN en-US
其中: --layout 离线安装包输出路径; --config 配置文件路径; --lang 程序语言。
如果不使用 --config 引用配置文件路径,可以使用 --add 逐个添加功能模块实现。
下载完成,离线程序生成完毕。
搬运安装程序,运行 vs_setup.exe
正常安装,完毕!
01. LEFT
从文本字符串的第一个字符开始返回指定个数的字符。
语法:LEFT(text, [num_chars])
例如:A1:ABCDE-12345
=LEFT(A1,4) → ABCD
=LEFT(A1) → A
02. RIGHT
根据所指定的字符数返回文本字符串中最后一个或多个字符。
语法:RIGHT(text,[num_chars])
例如:A1:ABCDE-12345
=RIGHT(A1,4) → 2345
=RIGHT(A1) → 5
03. MID
返回一个字符值,其中包含字符串中指定数量的字符。
语法:MID(text,[start_num],[num_chars])
例如:A1:ABCDE-12345
=MID(A1,6,3) → -12
结构,struct,structure的简写。
结构就是由几个数据组成的数据结构,这些数据可能具有不同的类型。根据这个结构可以定义自己的变量类型,实现自定义数据和行为的方法、属性等。
public struct Point
{
public int X { get; }
public int Y { get; }
public Point(int x, int y)
{
X = x;
Y = y;
}
public override string ToString()
{
return $"({X}, {Y})";
}
}
class Program
{
static void Main(string[] args)
{
Point p1 = new Point(1, 2);
Point p2 = p1; // 这里是按值复制,p2 是 p1 的副本
Console.WriteLine(p2.ToString()); // 输出: (1, 2)
}
}
Point 结构定义了两个只读属性 X 和 Y,以及一个构造函数来初始化这些值,并重写了 ToString 方法以方便打印点的坐标。在 Main 方法中,我们创建了一个 Point 实例 p1,并将它复制给了 p2。当我们打印 p2 时,我们可以看到它的值和 p1 相同。
枚举
用 enum 关键字定义枚举:
enum<typeName>
{
<value1>,
<value2>,
<value3>,
...
<valueN>
}
接着声明这个新类型变量:
<typeName> <varName>;
并赋值:
<varName> = <typeName>.<value>;
枚举使用一个基本类型来存储。枚举类型可取的每个值都存储为该基本类型的一个值,默认情况下该类型为int。通过在枚举声明中添加类型,就可以执行其它基本类型:
enum<typeName> : <underlyingType>
{
<value1>,
<value2>,
<value3>,
...
<valueN>
}
枚举的基本类型可以是 byte、sbyte、short、ushort、int、uint、long 和 ulong。
默认情况下,每个值都会根据定义的顺序从 0 开始,被自动赋予对应的基本类型值。意味着<valuel1>为0,<valuel2>为1,<valuel3>为2,…
可以重写这个赋值过程:使用=运算符,指定每个枚举的实际值:
enum<typeName> : <underlyingType>
{
<value1> = <actualVal1>,
<value2> = <actualVal2>,
<value3> = <actualVal3>,
...
<valueN> = <actualValN>
}
还可以使用一个值作为另一个枚举的基础值,为多个枚举指定相同的值:
enum<typeName> : <underlyingType>
{
<value1> = <actualVal1>,
<value2> = <value1>,
<value3>,
...
<valueN> = <actualValN>
}
未赋值的任何值都会自动获得一个初始值,这里使用的值是从比上一个明确声明的值大1开始的序列。例如,在上面的代码中, <value3>的值是<value1>+1。
隐式转换:从类型A到类型B的转换可在所有情况下进行,执行转换的规则非常简单,可以让编译器执行转换。
显式转换:从类型A到类型B的转换只能在某些情况下进行,转换规则比较复杂,应进行某种类型的额外处理。
一、隐式转换
隐式转换不需要做任何工作,也不需要另外编写代码。
var1 = var2
bool 和 string 没有隐式转换。
隐式数值转换
类型 | 可以安全地转换为 |
---|---|
byte | short,ushort,int,uint,long,ulong,float,double,decimal |
sbyte | short,int,long,float,double,decimal |
short | int,long,float,double,decimal |
ushort | int,uint,long,ulong,float,double,decimal |
int | long,float,double,decimal |
uint | long,ulong,float,double,decimal |
long | float,double,decimal |
ulong | float,double,decimal |
float | double |
char | ushort,int,uint,long,ulong,float,double,decimal |
如果发生显式转换,那么编译器会警告。
二、显式转换
明确要求编译器把数值从一种数据类型转为另一种数据类型。
(<destinationType>)<sourceVar>
将 <sourceVar> 中的值转换为 <destinationType> 类型
可以为表达式设置溢出检查,关键词—— checked 和 unchecked 。
checked(<expression>)
unchecked(<expression>)
使用检查溢出时,如果表达式中的显式转换造成了数据溢出,编译器会报错。
也可以通过修改属性来设置是否检查溢出的选项:Check for arithmetic overflow/unoverflow ,它会影响程序的执行速度,因此不需要时应禁用它。
三、使用Convert进行显式转换
它们总是会进行溢出检查,checked 和 unchecked 关键字以及项目属性设置不起作用。
全景-桃曲坡水库
——2023年08月
桃曲坡水库位于渭北石川河支流沮水河下游,坝址距耀县城15公里。水库于1969年动工兴建,1980年正式蓄水受益,1984年通过验收,水库总库容5720万立方米,兴利库容3602万立方米,死库容1683万立方米。
该水库是一座以灌溉为主,兼有城市供水、防洪、多种经营等综合利用的中型水库。设计灌溉面积31.83万亩。 水库枢纽工程设计等级为Ⅲ等,主要建筑物按3级设计,防洪标准按100年一遇洪水设计,1000年一遇洪水校核,地震烈度为6度。100年一遇洪峰流量为1780 立方米/秒,1000年一遇洪峰流量为3250 立方米/秒。100年一遇设计洪水时水库最大下泄量为1454 立方米/秒;1000年一遇校核洪水水库最大泄流量为2218 立方米/秒。 水库枢纽工程由均质土坝,侧槽式溢洪道和高、低放水洞四部分组成。