20道(中级)C#面试题

如何在 C# 中创建属性?
回答
在 C# 中,属性是类的成员,提供灵活的机制来读取、写入或计算私有字段的值。可以使用属性定义中的get和访问器来创建属性。set

属性可以有一个get访问器、一个set访问器或两者,具体取决于您希望该属性是只读、只写还是读写。

下面是C# 中同时具有get和访问器的属性示例:set

public class Person
{
   
   
    private string name;

    public string Name
    {
   
   
        get {
   
    return name; }
        set {
   
    name = value; }
    }
}

在 C# 3.0 及更高版本中,您可以使用自动实现的属性,这使您无需显式定义支持字段即可创建属性:

public class Person
{
   
   
    public string Name {
   
    get; set; }
}

C# 中“params”关键字的用途是什么?
回答
C# 中的关键字params允许方法接受可变数量的指定类型的参数。使用params关键字,您可以将值数组或单独的逗号分隔值传递给该方法。在方法内部,params参数被视为数组。

这是使用关键字的示例params:

public static class Utility
{
   
   
    public static int Sum(params int[] values)
    {
   
   
        int sum = 0;
        foreach (int value in values)
        {
   
   
            sum += value;
        }
        return sum;
    }
}

您可以使用Sum任意数量的参数调用该方法,如下所示:

int result1 = Utility.Sum(1, 2, 3);
int result2 = Utility.Sum(1, 2, 3, 4, 5);

C#中静态类有什么特点?
回答
在C#中,静态类是不能实例化或继承的类。它只能具有静态成员,并且不能具有实例成员(例如实例属性、方法或字段)。静态类的主要特点是:

它是用static关键字声明的。
它不能有构造函数(静态构造函数除外)。
它不能被实例化或继承。
静态类的所有成员也必须是静态的。
可以直接使用类名来访问,无需创建实例。
静态类的常见用途是用于实用函数和扩展方法。下面是 C# 中静态类的示例:

public static class MathUtility
{
   
   
    public static int Add(int x, int y)
    {
   
   
        return x + y;
    }

    public static int Subtract(int x, int y)
    {
   
   
        return x - y;
    }
}

要使用这个静态类,您只需像这样调用它的方法:

int sum = MathUtility.Add(1, 2);
int difference = MathUtility.Subtract(3, 1);

C# 中如何在两个表单之间传递数据?
回答
在 C# 中,有多种方法可以在 Windows 窗体应用程序中的两个窗体之间传递数据。一种常见的方法是使用公共属性或方法来公开需要传递的数据。这是一个例子:

创建具有公共属性的第二个表单,该属性将保存要传递的数据。

public partial class SecondForm : Form
{
   
   
    public string Data {
   
    get; set; }

    public SecondForm()
    {
   
   
        InitializeComponent();
    }
}

在第一个表单中,实例化第二个表单并Data使用要传递的数据设置属性。

public partial class FirstForm : Form
{
   
   
    public FirstForm()
    {
   
   
        InitializeComponent();
    }

    private void OpenSecondFormButton_Click(object sender, EventArgs e)
    {
   
   
        SecondForm secondForm = new SecondForm();
        secondForm.Data = "Data to be passed";
        secondForm.Show();
    }
}

在此示例中,当用户单击 时OpenSecondFormButton,将打开第二个窗体,并且Data第二个窗体的属性包含从第一个窗体传递的数据。

C# 中的类和对象有什么区别?
回答
在 C# 中,类是创建对象的蓝图。它定义了该类的对象将具有的结构、属性和方法。类是引用类型,它们可以从其他类继承以扩展或覆盖功能。

另一方面,对象是类的实例。它是根据类定义创建的,并在实例化时占用内存。对象是类的实例,它们包含类中定义的数据(字段)和行为(方法)。

例如,考虑一个Car类:

public class Car
{
   
   
    public string Model {
   
    get; set; }
    public int Year {
   
    get; set; }

    public void Drive()
    {
   
   
        Console.WriteLine(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Q shen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值