【Unity 题型】变量和数据类型

隶属:C#基础

某自定义脚本中,有以下自定义变量:public int a=1;。在inspector面板中将该值手动改为2,随后在脚本中将该变量的初始值改为3,随后点击运行,在游戏中该值被改为4,程序停止后,a的值是多少()?

A. 1
B, 2
C. 3
D. 4


答案解析:Unity在运行过程中以Inspector窗口中的数据为第一数据

下列选项中,哪个是引用类型?

A. char类型
B. double类型
C. string类型
D. int类型


答案解析:

  • C#数据类型包括 值类型 和 引用类型
  • 值类型包括 枚举、结构体(数值类型、bool、char)
  • 引用类型包括 类(委托、数组、字符串)、接口

在C#中,下列代码运行后,变量c的值是( )。

int a = 15,b = 10;  
float c = (float)a / b; 

A. 0
B. 1
C. 1.5
D. 5


答案解析: (float)a:将a转换为float类型,float(a)/b按照浮点型除法进行计算。

现有一个名为Teacher的结构,由于封装教师的信息,现在要编写一个方法用于更新Teacher中的一个属性ServiceYears,下面()的方法声明是正确的?

A. static void UpdateYears(Teacher t)
B. static void UpdateYears(Teacher[] t)
C. static void UpdateYeats(int t)
D. static void UpdateYears(ref Teacher t)


答案解析: ref形参,操作的是同一个变量,会改变值。

在C#中,一下关于readonly与const用法的代码,正确的是()

A. const Person person = new Person();
B. const Person person = null;
C. class Person { public Person() { readonly string name = "张三";}}
D. public const int age;


答案解析:

  • const修饰字段必须有初始值。
  • 初始值限制只能用null对引用类型(字符串除外)的常量字段进行初始化

装箱是把值类型转换到( )类型。

A. 数组
B. 引用
C. Char
D. String


答案解析:

  • 装箱:将值类型包装为引用类型
  • 拆箱:将引用类型拆箱为值类型

C#的数据类型有数值类型和( )类型两种

A. 结构类型
B. 关系类型
C. 调用类型
D. 引用类型


答案解析:

  • 值类型:包括 简单值类型 与 复合型值类型
    简单值类型:细分为 整数类型、字符类型、实数类型、布尔类型
    复合值类型:简单值类型的复合,如 结构类型 与 枚举类型
  • 引用类型:包括 类、接口、委托、数组
    类:一组具有相同数据结构与数据操作的对象集合。
    接口:应用程序之间互相调用,须达成一协议,被调用的一方在协议中对自己所能提供的服务进行描述。
    委托:用于封装某个方法的调用过程。
    数组:用于同一数据类型的数据进行批量处理。

在C#中,下面类型中是引用类型的是()

A. DualogResult枚举
B. System.Double
C. string
D. int


答案解析:

  • 引用类型包括:类、接口、string
  • 值类型包括:结构、枚举

执行以下C#程序,将输出().

public class Student {
    
    
	public int age;
}

public class Program {
    
    
	static void Alter(string id,Student stu) {
    
    
		id = "1002";
		stu.age++;
	}
	
	static void Main() {
    
    
		Student stu = new Student();
		string id = "1001";
		stu.age = 18;
		Alter(id,stu);
		Console.WriteLine("id = {0},age = {1}", id, stu.age);
	}
}

A. id=“1001”,age=18
B. id=“1001”,age=19
C. id=“1002”,age=18
D. id=“1002”,age=19


答案解析:

  • string id = "1001";在传入Alter()后id覆写为"1002"stu.age = 18;传入Alter()stu.age++为19。
  • 由输出结果为id="1001",age=19

(多选题)以下代码中属于拆箱操作的有()

A. string name = (string)obj;
B. float score = Single.Parse(obj.ToString());
C. int age = Convert.ToInt32(obj);
D. double.salary = int.Parse(6.ToString());


答案解析:

  • 装箱:将值类型包装为引用类型的过程
  • 拆箱:将引用类型转换为值类型的过程
    拆箱将对对象强制转换为原来的类型。拆箱的值必须和其转换的目标的变量有相同的类型。

猜你喜欢

转载自blog.csdn.net/qq_51026638/article/details/117792438