考考准备面试的兄弟姐妹几个C#问题,看看你们是否够格“精通C#” - .NET技术 / C#

这篇博客通过12个C#编程问题,从初级到精通,测试你的C#知识掌握程度。涵盖if-else处理、函数参数、函数重载、struct与class区别、堆栈溢出、继承与多态、语言特性等多个方面,旨在帮助面试者检查自身C#技能水平。
摘要由CSDN通过智能技术生成

考考准备面试的兄弟姐妹几个C#问题,看看你们是否够格“精通C#”。
题目是我自己随手编的,和网上雷同属巧合。如果这个贴能盖100楼,我会公布答案。题目和答案都是我自己想的,不保证正确,欢迎拍砖。
题目仅供娱乐,觉得无聊可以借助MSDN、编译器来回答。
下面开始:
*****C#初级码农:*****
我觉得C#码农具备的知识包括,知道基本语法,会判断、选择、循环语句,会函数调用。
(1)
C# 如何处理 if - else 悬挂二义性问题的,比如:
int i = 3, j = 5;
if (i > j) i++; else if (i < j) j++; else i++;
(2)
C#如何处理多个if条件判断问题的:
if (foo(1) || foo(2))
{
  ...
}
bool foo(int i)
{
  Console.WriteLine(i.ToString());
  return true;
}
(3)
调用函数,参数中 out 和 ref 有什么区别。
*****C#熟练工*****
C#熟练工会比较复杂的函数调用,基本的面向对象知识,会定义对象。
(4)
什么是函数重载?
private void Foo() { ... }
public void Foo() { ... }
能不能构成函数重载?那
void Bar(ref int x) { ... }
void Bar(out int x) { ... }
能不能构成函数重载呢?
(5)
readonly关键字有什么用?
private readonly Person p = new Person() { Name = "Jim" };
private void foo()
{
  p.Name = "Peter"; //是否合法?
}
*****基本掌握C#*****
这个层次应该掌握C#的基本语法,包括基本的面向对象语法、属性、数组
(6)
struct和class有什么不同?
ArrayList a = new ArrayList();
Person p = new Person() { Name = "Jim" };
ArrayList.Add(p);
p = ArrayList.Item[0];
p.Name = "Peter";
Console.WriteLine(ArrayList.Item[0]);
当Person定义为struct和class的时候分别是什么?如果希望struct的输出和class的一致,如何修改代码?
(7)
class Per

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值