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的使用
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();
- }
C#应用笔记的更多相关文章
- git-简单流程(学习笔记)
这是阅读廖雪峰的官方网站的笔记,用于自己以后回看 1.进入项目文件夹 初始化一个Git仓库,使用git init命令. 添加文件到Git仓库,分两步: 第一步,使用命令git add <file ...
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- SQL Server技术内幕笔记合集
SQL Server技术内幕笔记合集 发这一篇文章主要是方便大家找到我的笔记入口,方便大家o(∩_∩)o Microsoft SQL Server 6.5 技术内幕 笔记http://www.cnbl ...
- PHP-自定义模板-学习笔记
1. 开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2. 整体架构图 ...
- PHP-会员登录与注册例子解析-学习笔记
1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...
- NET Core-学习笔记(三)
这里将要和大家分享的是学习总结第三篇:首先感慨一下这周跟随netcore官网学习是遇到的一些问题: a.官网的英文版教程使用的部分nuget包和我当时安装的最新包版本不一致,所以没法按照教材上给出的列 ...
- springMVC学习笔记--知识点总结1
以下是学习springmvc框架时的笔记整理: 结果跳转方式 1.设置ModelAndView,根据view的名称,和视图渲染器跳转到指定的页面. 比如jsp的视图渲染器是如下配置的: <!-- ...
- 读书笔记汇总 - SQL必知必会(第4版)
本系列记录并分享学习SQL的过程,主要内容为SQL的基础概念及练习过程. 书目信息 中文名:<SQL必知必会(第4版)> 英文名:<Sams Teach Yourself SQL i ...
- 2014年暑假c#学习笔记目录
2014年暑假c#学习笔记 一.C#编程基础 1. c#编程基础之枚举 2. c#编程基础之函数可变参数 3. c#编程基础之字符串基础 4. c#编程基础之字符串函数 5.c#编程基础之ref.ou ...
- JAVA GUI编程学习笔记目录
2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...
随机推荐
- 蚁群算法求解TSP问题
一.蚁群算法简介 蚁群算法是对自然界蚂蚁的寻径方式进行模似而得出的一种仿生算法:蚂蚁在运动过程中,能够在它所经过的路径上留下信息素(pheromone)的物质进行信息传递,而且蚂蚁在运动过程中能够感知 ...
- 【Linux】ssh命令行下多任务前后台切换
原文:https://my.oschina.net/huxuanhui/blog/13844 我们都知道,在 Windows 上面,我们要么让一个程序作为服务在后台一直运行,要么停止这个服务.而不能让 ...
- insmod mknod
insmod module 會在 /proc/devices/ 下產生 major number 及 device name ---------------------------- mknod 會使 ...
- linux高可用集群(HA)原理详解
高可用集群 一.什么是高可用集群 高可用集群就是当某一个节点或服务器发生故障时,另一个节点能够自动且立即向外提供服务,即将有故障节点上的资源转移到另一个节点上去,这样另一个节点有了资源既可以向外提供服 ...
- uni-app 保持登录状态 (Vuex)
在小程序中,保持登录状态是很常见的需求,今天就把写一写使用uni-app框架的保持登录状态功能是怎样实现的. 一.场景需求 1.场景:初始打开---登陆---关闭,再次打开---(已登录)上次关闭前的 ...
- CentOS7.5使用RPM包安装MySQL5.7.22
参考:https://blog.csdn.net/sevenkoala/article/details/76163853 1,安装环境查看 2,下载安装rpm包 下载地址:https://downlo ...
- springMVC配置文件学习
spring配置文件分为dao层,web层,service层,三层配置 这三层配置中, dao层对应数据库的配置:进行数据库相关和model实体类的配置 web层对应controller包中配置:设置 ...
- Flutter 状态管理 flutter_Provide
项目的商品类别页面将大量的出现类和类中间的状态变化,这就需要状态管理.现在Flutter的状态管理方案很多,redux.bloc.state.Provide. Scoped Model : 最早的状态 ...
- django 之(二) --- 源码分析
CBV类视图继承 CBV:继承自View:注册的时候使用的as_view() 入口 不能使用请求方法的名字作为参数的名字 只能接受已经存在的属性对应的参数 定义了一个view 创建了一个类视图对象 保 ...
- 最新 东方明珠java校招面经 (含整理过的面试题大全)
从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火.京东.去哪儿.东方明珠等10家互联网公司的校招Offer,因为某些自身原因最终选择了东方明珠.6.7月主要是做系统复习.项目复盘.Leet ...