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的使用

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

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

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

  1. /// <summary>
  2. /// 引用传递需要使用ref关键字修饰参数,方法中对参数值的修改可以保留
  3. /// </summary>
  4. /// <param name="args"></param>
  5. static void Main(string[] args)
  6. {
  7. int num1 = 25, num2 = 50;
  8. Console.WriteLine("交换前两个数为别为:{0}和{1}", num1, num2);
  9. //交换两个数的值
  10. Swap(ref num1, ref num2);
  11. Console.WriteLine("交换后两个数为别为:{0}和{1}", num1, num2);
  12. Console.Read();
  13. }
  14. //交换两个数的值
  15. private static void Swap(ref int num1, ref int num2)
  16. {
  17. int temp;
  18. temp = num1;
  19. num1 = num2;
  20. num2 = temp;
  21. }

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

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

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

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

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

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

  1. //使用is操作符判断对象
  2. if (obj is UserInfo)
  3. {
  4. //使用as操作符强制转换对象
  5. UserInfo user = obj as UserInfo;
  6. }

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

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

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

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

  1. <%# 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控件)一起使用,达到可更新数据的目的。比如图书的标题可以修改,可以设置为:

  1. <%# Bind("Title") %>

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

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

  1. string path="/xml/book.xml";
  2. 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的使用

    1. static void Main(string[] args)
    2. {
    3. #if DEBUG
    4. Console.WriteLine("这是Debug模式!");
    5. #else
    6. Console.WriteLine("这是Release模式!");
    7. #endif
    8. Console.ReadLine();
    9. }

C#应用笔记的更多相关文章

  1. git-简单流程(学习笔记)

    这是阅读廖雪峰的官方网站的笔记,用于自己以后回看 1.进入项目文件夹 初始化一个Git仓库,使用git init命令. 添加文件到Git仓库,分两步: 第一步,使用命令git add <file ...

  2. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  3. SQL Server技术内幕笔记合集

    SQL Server技术内幕笔记合集 发这一篇文章主要是方便大家找到我的笔记入口,方便大家o(∩_∩)o Microsoft SQL Server 6.5 技术内幕 笔记http://www.cnbl ...

  4. PHP-自定义模板-学习笔记

    1.  开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2.  整体架构图 ...

  5. PHP-会员登录与注册例子解析-学习笔记

    1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...

  6. NET Core-学习笔记(三)

    这里将要和大家分享的是学习总结第三篇:首先感慨一下这周跟随netcore官网学习是遇到的一些问题: a.官网的英文版教程使用的部分nuget包和我当时安装的最新包版本不一致,所以没法按照教材上给出的列 ...

  7. springMVC学习笔记--知识点总结1

    以下是学习springmvc框架时的笔记整理: 结果跳转方式 1.设置ModelAndView,根据view的名称,和视图渲染器跳转到指定的页面. 比如jsp的视图渲染器是如下配置的: <!-- ...

  8. 读书笔记汇总 - SQL必知必会(第4版)

    本系列记录并分享学习SQL的过程,主要内容为SQL的基础概念及练习过程. 书目信息 中文名:<SQL必知必会(第4版)> 英文名:<Sams Teach Yourself SQL i ...

  9. 2014年暑假c#学习笔记目录

    2014年暑假c#学习笔记 一.C#编程基础 1. c#编程基础之枚举 2. c#编程基础之函数可变参数 3. c#编程基础之字符串基础 4. c#编程基础之字符串函数 5.c#编程基础之ref.ou ...

  10. JAVA GUI编程学习笔记目录

    2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...

随机推荐

  1. idea 使用maven 下载源码包

    方式1:全量下载源码包 方式二:下载单个源码包 随便找个源码可以看到文件上有download (标识下载源码包) choose sources表示选择那个版本的源码包

  2. Sublime 添加∕删除右键菜单.bat

    Sublime 添加∕删除右键菜单.bat @ECHO OFF & PUSHD %~DP0 & TITLE >NUL 2>&1 REG.exe query &quo ...

  3. js常用时间转换函数

    1.秒转换为时分秒 // 秒转换为时分秒 export function secExchangeMoment(value = 0){ let secondTime = parseInt(value); ...

  4. LSTM_Model

    #!/usr/bin/python# -*- coding: utf-8 -*- import tensorflow as tf class TRNNConfig(object): "&qu ...

  5. MySQL连接错误:Can't connect to MySQL server on'localhost' (10055)

    在Windows服务器上确认服务器和mysql都是正常运行,但就是连接不上.搜了一下别人的解决方案, 参考这篇https://blog.csdn.net/langren697/article/deta ...

  6. Java的三种工厂模式

    一.简单工厂模式 简单工厂的定义:提供一个创建对象实例的功能,而无须关心其具体实现.被创建实例的类型可以是接口.抽象类,也可以是具体的类 实现汽车接口 //产品接口 //汽车需要满足一定的标准 pub ...

  7. 升级系统中的java到1.8版本

    (1).安装或升级java,并配置环境变量 注意:此处分为yum安装与rpm安装,区别在于yum安装省事但配置麻烦,rpm安装麻烦但配置省事. 1)yum安装 在安装前可以使用yum list ins ...

  8. PAT 甲级 1013 Battle Over Cities (25 分)(图的遍历,统计强连通分量个数,bfs,一遍就ac啦)

    1013 Battle Over Cities (25 分)   It is vitally important to have all the cities connected by highway ...

  9. JAVA数据结构和算法 3-简单排序

    排序中的两种基本操作是比较和交换.在插入排序中还有移动. 冒泡排序:两两比较相邻元素,如果较大数位于较小数前面,则交换: 每一趟遍历将一个最大的数移到序列末尾,共遍历N-1趟. 如果执行完一趟之后没有 ...

  10. 性能优化-屏幕常亮与CPU唤醒

    Android在不使用的时候,屏幕在一段时间以后会变暗,再过一段时间就会熄屏,此时CPU就会休眠,那么在这个时候,Timer.Handler.Thread.Service等都会暂停,有时候我们需要屏幕 ...