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. 关于安卓端 点击button时出现橙色边框

    一开始我以为是安卓的原因,后来经过测试发现不是,出现这个情况应该button的outline属性生效了,但是我已经写了outline 为none,后来发现,需要写上:foucs{ outline:0 ...

  2. appdomain概念与应用

    用appcmd命令显示w3wp.exe进程,很多时候一个应用程序池负责创建一个w3wp.exe进程与之对应,可能还有时候是创建多个w3wp.exe,有待验证. c:\Windows\System32\ ...

  3. eclipse远程连接hadoop单机模式出现的问题

    按照http://tydldd.iteye.com/blog/2007938配置单机模式 主要是 (1)配置hadoop-env.sh,指定jdk的安装路径 添加jdk路径 # The java im ...

  4. expect实现免交互

    如果想写一个能够自动处理输入输出的脚本又不想面对C或Perl,那么expect是最好的选择.它可以用来做一些Linux下无法做到交互的一些命令操作. (1).安装和使用expect expect是不会 ...

  5. windows10环境下pip安装Scrapy报错

    问题描述 当前环境win10,python_3.6.1,64位. 在windows下,在dos中运行pip install Scrapy报错: building 'twisted.test.raise ...

  6. java 注解@interface

    类注解: package com.cglibs; import java.lang.annotation.ElementType; import java.lang.annotation.Retent ...

  7. 【AMAD】django-debug-toolbar -- 一个可配置的panel,展示当前request/response的debug信息

    简介 个人评分 简介 django-debug-toolbar1是一个django开发工具,可以在你开发django页面的时候展示一些当前请求的debug信息:  个人评分 类型 评分 实用性 ⭐️ ...

  8. awk工具的基本用法

    awk文本过滤的基本用法 1)基本操作方法 格式:awk [选项] '[条件]{指令}' 文件 其中,print 是最常用的编辑指令:若有多条编辑指令,可用分号分隔. Awk过滤数据时支持仅打印某一列 ...

  9. 【算法】矩阵填数,深度优先搜索(DFS),Pascal改C语言

    面向对象的上机实验 题目 以下列方式向 5*5 矩阵中填入数字.设数字i(1=<i<=25),则数字i+1 的坐标位置应为(E, W).(E, W)可根据下列关系由(x,y)算出: 1)( ...

  10. IDEA debug漏洞第二弹(fastjson,version<1.2.47)

    首先这个漏洞调试不需要非要使用docker,本身是一个jar包的问题.所以我们可以自己写一个小java代码来直接调试. POC如下 {"name":{"@type&quo ...