类型转换
int count = (int) 40.0; 存放整数 40,Console.WriteLine(count) 写出 40。屏幕一行。这一行没有小数点,小数点后的 0 也不在这行上。公开类名保持 Pine。
类型词与数字不匹配
打开 Pine 文件。类名仍是 Pine。本页不重命名类型。若还有 bool ripe 就删掉,连同 true 和 false。若还有 string plant 也删掉。删掉 plant.Length 以及每个在点后发问的行。删掉任意 ReadLine 行。若没有点也没有括号,删掉 int count = 40;。你保留的文件里没有等待、没有 plant、没有 ripe、没有词 true。数字只由使用名字的那条写出语句写出来。
数字页已经展示过这种不匹配。int count = 40.0; 让一个 int 名字去存放带点写出来的数。build 报错。它不会静悄悄。它不会替你去掉点。报错写着时,没有屏幕可读。本页不会把行留成那样。类型词 int 与 40.0 不匹配。你把同一个类型词再写一遍,写在括号里,放在 = 与数字之间。
在 Main 里,存放行是 int count = (int) 40.0;。第一个 int 是给名字用的类型词。它表示 count 存整数。count 是名字,以小写 c 开头。= 负责存放。接着 (int) 又是类型词,单独落在一对括号里。括号里没有数字。值在括号外,闭括号之后:40.0。点前的 4 和 0 是整数部分。点表示后面还有数字。那一位是 0。分号结束本行。本行存放 40。不写屏幕。存放不是写出。到本行结束屏幕仍空着。括号不是第二个数。不是引号。不是名字后面的提问。本页没有 plant,所以 40.0 里的点不是去问 Length 的点。
写出行是裸名字:Console.WriteLine(count);。没有引号,名字 count 外也没有括号。C# 读取 count,写出该名字里的整数,然后结束一行。对你保留的文件,那个数是 40。名字字母不在屏幕上。int 不在屏幕上。括号不在屏幕上。点不在屏幕上。点后面那个 0 不在屏幕上。屏幕是 40,一行。保存文件。
你保留的文件
保持这种教学形状。一个名字 count。给它的一个类型词 int。一对括号,里面只有 int。括号外一个值 40.0。一条写出语句,且用裸名字。
using System;
public class Pine
{
public static void Main()
{
int count = (int) 40.0;
Console.WriteLine(count);
}
}
从上往下读。using System; 准备短名字。public class Pine 给类型命名。public static void Main() 是 runtime 开始的地方。没有 string plant 行,也没有 bool 行。int count = (int) 40.0; 存放 40。什么都不写。Console.WriteLine(count); 写出 40 并结束一行。屏幕一行。没有点。没有第二行。
用 dotnet run 运行。程序写出 40。不等你输入。数字早就在文件里。若 dotnet run 还在等,文件里仍有 ReadLine。删掉那行,保留 int count = (int) 40.0; 和一条写出语句。程序在写出语句后结束。屏幕显示 40。一行。没有点。若屏幕是 40.0,写出行在打印仍带点的数,或你运行的存放行上没有括号。你保留的文件打印 count,而 count 存的是整数。若屏幕是 40.9,你在打印带点数本身,不是括号后的整数。若屏幕是 41,文件里存的是 41。这些括号不会把 40.9 四舍五入成 41。若屏幕是 true 或 false,bool 文件还在。删掉 ripe。若屏幕是 leaf,文件里还有 plant。若屏幕是 count,写出行在名字外有引号。屏幕不对也不用重装 .NET SDK。
显示 40 的屏幕本身不能证明括号。没有点也没有括号的 int count = 40; 也会写出 40。屏幕可能看起来一样。文件不一样。你保留的文件有 (int) 和 40.0。评判本页时,在文件里找括号和点。不要单凭屏幕判断括号。
没有括号,不匹配仍是错误。int count = 40.0; 会让 build 报错。不会写出 40。不会安静。build 报错时不要运行程序。不必记住错误的原话。在 = 与 40.0 之间放上 (int),让行再次成为 int count = (int) 40.0;。值不能进括号。int count = (int 40.0); 会让 build 报错。类型词单独在括号里。数字在括号外、闭括号之后。
引号和词 true 放不进这对括号。int count = (int) "40"; 让括号把字母变成整数。build 报错。int count = (int) true; 让括号把词 true 变成整数。build 报错。不会写出 1。bool ripe = (bool) 1; 让另一种类型把数字变成 true。build 报错。不会写出 true。这些情况都没有可读屏幕,因为 build 报错时你不运行。修理保留文件时删掉引号、删掉 true、删掉 bool 行。
名字必须在使用它的行之前就存在。若 Console.WriteLine(count); 写在 int count = (int) 40.0; 上面,build 报错。把存放行移到写出行上面。同一名字不要写第二次 int。第一行已经创建 count 后,下面再写 int count 是另一种错误。本页第二个文件替换存放行。它不会在第一个下面再加 int count。括号后什么都没有的 int count = (int); 会让 build 报错。值必须在那里。括号内有空格 int count = ( int ) 40.0; 仍存 40,单靠这个不会让 build 报错。你保留的文件括号内没有空格。闭括号后无空格 int count = (int)40.0; 也存 40。保留文件在闭括号后有一个空格。多空格或缺空格都不是第二个数。
小数点后的数字被丢掉
括号里是 int 时,40.9 不会存成 41,也不会存成 40.9。int count = (int) 40.9; 存 40。9 被丢掉。不向上舍入。不是行上第二个数。不是屏幕上第二行。写出行仍是 Console.WriteLine(count);。屏幕显示 40。一行。没有点。名字 count 不在屏幕上。
这是第二个文件。不是你保留的那个。保留文件用 40.0,点后数字是 0。为看清 9 被丢掉,把第二种形状存成程序跑一下,再把 int count = (int) 40.0; 放回去。
using System;
public class Pine
{
public static void Main()
{
int count = (int) 40.9;
Console.WriteLine(count);
}
}
运行 dotnet run。屏幕显示 40。一行。9 不会让 build 失败。若屏幕是 41,你运行的不是这个文件。若屏幕是 40.9,缺少括号,或写出行在打印带点数本身。若屏幕是 40.0,你还在保留文件上——那是该放回去的正确文件,但不是这次检查。从 40.9 看到 40 后,把保留文件放回去:int count = (int) 40.0; 和一条 Console.WriteLine(count);。
括号可以放在名字前面
名字可以先存带点数。double 是与点匹配的类型词。double weight = 40.9; 把 40.9 存进 weight。那行没有括号,因为类型词 double 已经匹配带点写的值。下一行是不匹配的那行:int count = (int) weight;。括号里是 int,count 能存的那种类型。在名字 weight 前面,不在新数字前面。weight 已存 40.9。括号丢掉 9,count 存 40。写出行仍是 Console.WriteLine(count);。屏幕显示 40。weight 不在屏幕上。double 不在屏幕上。40.9 不在屏幕上。
这是第三个文件。不是你保留的。保留文件没有 double 也没有 weight。存放行上写数字 40.0。括号里的词必须是名字能存的类型。int count = (double) 40.0; 把 double 放进括号、把 int 放在名字上。两个类型词不匹配。build 报错。不会写出 40.0。不会安静。
using System;
public class Pine
{
public static void Main()
{
double weight = 40.9;
int count = (int) weight;
Console.WriteLine(count);
}
}
运行 dotnet run。屏幕显示 40。一行。double weight = 40.9; 不需要括号,也不会让 build 失败。若屏幕是 40.9,写出行是 Console.WriteLine(weight);。改回 Console.WriteLine(count);。若屏幕是 weight,写出行在名字外有引号。看到 40 后把保留文件放回去。别在保留文件里留下 double。
现在你可以从带点写的值里存放整数。int count = (int) 40.0; 存 40。Console.WriteLine(count); 写出 40 并结束一行。屏幕上没有点。int count = (int) 40.9; 也写出 40。9 被丢掉,不舍入。同一对括号也可以放在已存 40.9 的名字前,屏幕仍是 40。没有括号时 int count = 40.0; 让 build 报错。(int) true 也让 build 报错。下一页放下这些括号,去看一个既不存你写的数、也不存你写的词的名字。
屏幕上是能装下的整数
你保留的文件写出 40。写出行上的名字是 count,count 不在屏幕上。括号在文件里,不在屏幕上。一次 WriteLine 一行。点后的 9 被丢掉。存着 40.9 的名字可以站在同一对括号里,屏幕仍是整数。
🧠 测试您的知识
测试您的知识
通过这个互动测验挑战自己,看看你对这个主题的理解程度如何
📝 说明
- 仔细阅读每个问题
- 为每个问题选择最佳答案
- 您可以随时重新参加测验
- 您的进度将显示在顶部