C#类

该博客围绕C#展开,解答了多个基础问题。包括string赋值null与空字符串的区别、类和结构的异同、拆箱和装箱的概念、冒泡排序和递归方法的编程实现,还介绍了集合特点、const和readonly的差异、out和ref参数的不同,以及StringBuilder和String的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

01:在C#中,string str = null 与 string str = “” 请尽量使用文字或图象说明其中的区别。

答:第一个 str赋值的是null 赋值了null 但没有开辟空间,在第二个str赋值的是“ ” 它赋值了也开辟了新的空间


02:简述类和结构的相同点和不同点。并用代码举例。

答:

结构不可以new 不可以包含方法 只能包含变量 结构是值类型 结构不能定义无参数的构造方法。类可以new 可以有方法 类是引用类型。 

	struct Sex
	{
	       int Female;
	       int Male;
	}


03:什么是拆箱和装箱?举例说明

答:拆箱就是把num存进去的类型 在转出来 
装箱就是把值类型转换为引用类型


04:编程实现一个冒泡排序

答:

	static void Main(string[] args)

        {

 
            int[] arr = { 4, 2, 5, 8, 1 };

            for (int i = 0; i < arr.Length; i++)

            {

                for (int j = 0; j < arr.Length-1; j++)

                {

                    if (arr[j]>arr[j+1])

                    {

                        int num = arr[j + 1];

                        arr[j + 1] = arr[j];

                        arr[j] = num;

                    }

                }

            }

            for (int i = 0; i < arr.Length; i++)

            {

                Console.WriteLine(arr[i]);

            }

        }


05:编程实现一个递归方法

答:

public int digui(int num)
{
    if(num ==1 || num == 2) return num;
    return dugui(num-1) + dugui(num-2);
}


06:说说目前学的集合有哪些?,每一种集合的特点以及使用场景

答:

ArrayList,List,Hashtable,Dictionary<key,value>

ArrayList和List获取,删除元素是通过下标或对象名获取;

Hashtable,和Dictionary<key,value>获取,删除元素是通过key获取。

List和Dictionary<key,value>访问元素无须转换。


07:变量被标记为 “const” 和readonly” 有何不同?

答:

const修饰的常量在声明的时候必须初始化;readonly修饰的常量则可以延迟到构造函数初始化 ;

const 只读 但不能修改,readonly 只读可修改


08:“out” 和 “ref” 参数有何不同?用代码举例

答: 

ref是引用把值类型转换成弓用,out是输出,区别是ref是输入兼输出的,out只是单纯的输出

public void num(ref int num1, ref int num2){ }
public void num(out int num1, out int num2){ }


09:“StringBuilder” 和 “String” 有何不同?

答:用string += 追加的时候会分配新的地址,StringBuilder不会 ,所以StringBuilder的运行速度会快,不会浪费资源空间。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值