每日笔试题练习3

一、在C#中委托是什么?事件是什么?

答:(1)C#中事件:事件时属于类的成员,所以要放在类的内部。

(2)委托属于一个定义,是和类、接口类似的,通常放在外部。(因为大多数委托都要被重用)

委托定义在类里面还是类外面视情况而定,一般定义在与类定义平级部分,且用public修饰,便于外部调用。若定义在类的内部,则必须通过调用该类的成员才能取得其委托的引用,频繁调用的情况下不合适。

事件的内部是用委托实现的。因为对于事件来讲,外部只能“注册自己+=、注销自己-=”,外界不可以注销其他的注册者,外界不可以主动触发事件,因此如果用Delegate就没法进行上面的控制,因此诞生了事件这种语法。事件是用来阉割委托实例的,类比用一个自定义类阉割List。事件只能add、remove自己,不能赋值。事件只能+=、-=,不能=。事件内部就是一个private的委托和add、remove两个方法。

二、C#一维数组转二维数组方法

答:

/// <summary>
/// 一维数组转为若干行的2维数组
/// </summary>
public static T[,] OneD_2<T>(T[] obj,int len)
{
    if (obj.Length % len != 0)新旧数组元素个数必须一样
    int width = obj.Length / len;//定义列数
    T[,] obj2 = new T[len, width];//创建新数组
    for (int i = 0; i < obj.Length; i++)
    {
        obj2[i / width, i % width] = obj[i];//转换
    }
    return obj2;
}

三、C#二维数组转一维数组方法

答:

/// <summary>
/// 二维数组转一维数组
/// </summary>
public static T[] TwoD_1<T>(T[,] obj)
{
    T[] obj2 = new T[obj.Length];//定义新数组
    for (int i = 0; i < obj.Length; i++)
        obj2[i] = obj[i / obj.GetLength(1), i % obj.GetLength(1)];//转换
    return obj2;

}

一二三维数组转换

四、什么是相对路径?什么是绝对路径?

答:

  • 绝对路径:从盘符开始的路径,这是一个完整的路径。以"/"开头的路径。

  • 相对路径:相对于项目目录的路径,这是一个便捷的路径,开发中经常使用。不以"/"开头的路径。./表示当前路径,即:action="./handler_login.do" 和 action="handler_login.do"都表示当前路径。../表示当前路径的父级路径。

  • 详解

五、什么是Json?

答:Json是一种轻量级的数据交换格式。常用于跨应用数据交互或者本地数据持久化,比如客户端服务器信息传输以及游戏存档或数据表,它基于 ECMAScript (w3c制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。什么是JSON
 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值