C#应用笔记

1、ref关键字、out关键字——引用传递参数

2、什么时候用DateReader,什么时候用DateSet呢?

3、is操作符、as操作符的使用

4、Eval方法和Bind方法的区别

5、Server.MapPath(string path)函数——返回实际物理路径

6、屏蔽ASP.NET自身的安全机制

7、ASP.NET一些文件的后缀名

8、.net调试时如何监控Request的请求信息

9、C#中测试代码#if DEBUG的使用

10、C#中的??运算符

1、ref关键字、out关键字——引用传递参数

向方法中传递参数,包括按值传递和按引用传递两种方式。

按引用传递需要使用ref关键字或out关键字修饰参数,方法中对参数值的修改可以保留。通俗一点讲,ref侧重于修改,out则更侧重于输出。

/// <summary>
/// 引用传递需要使用ref关键字修饰参数,方法中对参数值的修改可以保留
/// </summary>
/// <param name="args"></param>
static void Main(string[] args)
{
    int num1 = 25, num2 = 50;
    Console.WriteLine("交换前两个数为别为:{0}和{1}", num1, num2);
    //交换两个数的值
    Swap(ref num1, ref num2);
    Console.WriteLine("交换后两个数为别为:{0}和{1}", num1, num2);
    Console.Read();
}

//交换两个数的值
private static void Swap(ref int num1, ref int num2)
{

    int temp;
    temp = num1;
    num1 = num2;
    num2 = temp;
}

2、什么时候用DateReader,什么时候用DateSet呢?

答:DateSet可以在断开数据库连接的情况下操作数据,对数据进行批量操作,数据集(DataSet)是一个临时存储数据的地方,位于客户端的内存当中。它不和数据库直接打交道,而是通过DataAdapter对象和数据库联系的。

DateReader适用于:只读取查询结果;节省内存,提高性能。但是使用DateReader读取数据时,不能够对它们进行修改,所以它是只读的。而且在读取数据的时候,要始终保持与数据库的连接。使用DateReader读取数据的时候占用了数据库连接,必须调用它的Close()方法关闭DateReader,才能够用数据库连接(Connection)进行其他操作。

3、is操作符、as操作符的使用

is操作符:用于检查对象是否与给定的类型相同。

as操作符:类似于强制转换,所不同的是,当转换失败时,运算符将产生空(null),而不是引发异常。所有使用as操作符进行强制转换时更加安全,推荐多使用。

//使用is操作符判断对象
if (obj is UserInfo)
{
    //使用as操作符强制转换对象
    UserInfo user = obj as UserInfo;
}

4、Eval方法和Bind方法的区别

4.1 Eval是只读的方法(单向数据绑定),所绑定的内容为不会提交回服务器,不如图书的ISBN,并不想用户做任何修改,可以使用:

<%# Eval("ISBN").ToString().Trim() %>

Eval还有一个重载的方法,可以实现格式化。比如需要显示图示的出版日期,可以使用:

<%# Eval("PublishDate","{0:dd/MM/yyyy}") %>
其中,0代表对应的PublishDate字段,而dd/MM/yyyy指明了最终显示文本的格式。

常见格式有:

{0:C},设置显示的内容是货币类型。

{0:D},设置显示的内容是数字。

{0:yy-mm-dd},设置显示的是日期格式。

{0:F?},设置显示的小数点后几位。

{0: P},设置显示的内容百分比。

4.2 Bind方法支持读/写功能(双向数据绑定),该方法常常与输入控件(比如TextBox控件)一起使用,达到可更新数据的目的。比如图书的标题可以修改,可以设置为:

<%# Bind("Title") %>

5、Server.MapPath(string path)函数——返回实际物理路径

Server对象封装了Web服务器相关的一些方法,常用的是返回实际物理路径的MapPath方法。

string path="/xml/book.xml";
string mapPath = Server.MapPath(path);
6、屏蔽ASP.NET自身的安全机制

ASP.NET的自身安全机制,它屏蔽了有潜在危险的表单提交(如:提交内容中包含HTML代码等信息),我们可以将其安全机制关闭:在Page指令上做如下设置:ValidateRequest="false"

7、ASP.NET一些文件的后缀名

.aspx:Web页面

.master:母版页

.ascx:用户控件

.ashx:HttpHandler程序(一般处理程序)

.asmx:Web Service(Web服务)

8、.net调试时如何监控Request的请求信息

.net调试时,在“监控”窗口中输入:Request就可以看到本次请求的信息。如果是Post请求,则参数信息在From中。

9、C#中测试代码#if DEBUG的使用

static void Main(string[] args)
{
    #if DEBUG
        Console.WriteLine("这是Debug模式!");
    #else
        Console.WriteLine("这是Release模式!");
    #endif

    Console.ReadLine();
}

10、C#中的??运算符

??运算符称作null合并运算符。 如果此运算符的左操作数不为null,则此运算符将返回左操作数;否则返回右操作数。

string message = null ?? "无内容";
Console.WriteLine(message);   //输出:无内容





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

pan_junbiao

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

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

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

打赏作者

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

抵扣说明:

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

余额充值