摘要:
最近做自己的博客程序时,需要对文件的路径处理。但对asp.net的路径形式有些模糊了,于是查了下资料做个总结。 使用网站中的资源时,通常必须指定资源的路径。例如,您可以使用 URL 路径引用页面中的图像文件或网站中其他位置处的页面的 URL。同样,Web 应用程序中的代码可以使用基于服务器的文件的物理文件路径对文件进行读写操作。ASP.NET 提供用于引用资源并确定应用程序中的页面或其他资源的路径的方法。绝对 URL 路径。如果引用其他位置(例如外部网站)中的资源,则绝对 URL 路径非常有用。<img src="http://www.contoso.com/MyApplica 阅读全文
随笔分类 - C#
C#读取HTML文件内容写入记事本
2011-09-29 10:41 by coderidea, 5856 阅读, 收藏, 编辑
摘要:
C#读取HTML文件内容写入记事本try { int totalFile = 0; //string dirPath = @"E:\chfuMetarnet\BSC6810 alarm\"; if (this.textBox1.Text.Trim() == "") { MessageBox.Show("请输入HTML文件路径!"); } else ... 阅读全文
C#正则表达式匹配HTML中的图片路径,图片地址
2011-09-25 11:21 by coderidea, 17074 阅读, 收藏, 编辑
摘要:
C#正则表达式匹配HTML中的图片路径,图片地址 最近的项目中有个关于网页取图的功能需要我自己开发,那就是用正则表达式来匹配图片标签。 一般来说一个 HTML 文档有很多标签,比如“<html>”、“<body>”、“<table>”等,想把文档中的 img 标签提取出来并不是一件容易的事。由于 i 阅读全文
C#中的参数传递:值类型(value type)和引用类型(reference type)
2011-09-25 11:05 by coderidea, 1725 阅读, 收藏, 编辑
摘要:
摘要:由于在.NET中存在两种类型,分别是值类型(value type)和引用类型(reference type),所以很多关于C#中参数传递的混淆就因此而生。本文首先从值类型和引用类型的辨析入手,然后解释了在C#中的参数传递的四种形式:值传递(默认形式)、ref传递、out传递、params传递。首先要弄清楚的是:值类型是分配在栈(stack)上面,而引用类型分配在堆(heap)上面。栈是一种先进后出,并且由系统自动操作的存储空间。而堆(在.NET上准确的说是托管堆 Managed Heap)是一种自由储存区(Free Memory),在该区域中,必须明确的为对象申请存储空间(一般在Java 阅读全文
ASP.NET 上传图片至数据库并读取图片显示
2011-09-25 10:57 by coderidea, 25928 阅读, 收藏, 编辑
摘要:
今天,和大家讨论一下在ASP.NET中,如何上传图片至数据库,然后再将图片读取显示的问题。欢迎高手提出自己的方法!!!目前,我主要用到以下两种方法:1:上传图片的相对路径到数据库中相应字段里,读取显示时,将控件(假设用的是Image控件)的ImageUrl属性指向该相对路径即可。2:将图片以二进制流的方式整体上传到数据库里,读取显示时,以二进制流的方式整体读出。这种方法稍微麻烦一点,但保存的是图片整体到数据库里。第一种方法,实现起来比较简单,因为存入数据库里的只是图片相对路径,当然,同时也就有很大的局限性,由于是相对路径,所以当本地的图片变换了位置或移除,或是在其他主机上浏览该图片时,就无法显 阅读全文
ORA-06413:连接未打开错误
2011-09-25 10:46 by coderidea, 12420 阅读, 收藏, 编辑
摘要:
ORA-06413:连接未打开错误ORA-06413 Connection not open.Cause: Unable to establish connection.Action: Use diagnostic procedures to ascertain exact problem错误描述: 用ORACLE的连接工具里可以连接,在控制台用sqlplus是可以连接的,用C#开发的测试连接程序测试也可以连接,可是现在运行应用程序就是死活报“ORA-06413:连接未打开错误” 。问题解决:用OraOle驱动来访问Oracle数据库时,所在程序的文件夹,名字的最后不能为")&quo 阅读全文
C#的显式接口和隐式接口
2011-09-22 07:14 by coderidea, 664 阅读, 收藏, 编辑
摘要:
接口的实现分为:隐式实现和显式实现。如果类或者结构要实现的是单个接口,可以使用隐式实现,如果类或者结构继承了多个接口那么接口中相同名称成员就要显式实现。显示实现是通过使用接口的完全限定名来实现接口成员的。使用显式接口成员执行体通常有两个目的:1、因为显式接口成员执行体不能通过类的实例进行访问,这就可以从公有接口中把接口的实现部分单独分离开。如果一个类只在内部使用该接口,而类的使用者不会直接使用到该接口,这种显式接口成员执行体就可以起到作用。2、显式接口成员执行体避免了接口成员之间因为同名而发生混淆。如果一个类希望对名称和返回类型相同的接口成员采用不同的实现方式,这就必须要使用到显式接口成员执行 阅读全文
老赵面试题参考答案(六)
2011-09-15 09:15 by coderidea, 3863 阅读, 收藏, 编辑
摘要:
List和T[]的区别是什么,平时你如何进行选择?Dictionary是做什么的?.NET BCL中还有哪些常用的容器?它们分别是如何实现的(哪种数据结构)?分别是适用于哪些场景? List和T[]的区别是什么,平时你如何进行选择? List是一个可以定义成无限长度的泛型列表,T[]是一个泛型的数组,数组你在定义的时候不得不给他定义长度。一般都用List显然它使用方便本身自带的方法也多,而且他是无限长度的,可以根据需要不断地追加。需要注意的是数组本身是继承自Object的所以他总是在堆上分配。 Dictionary是做什么的? 这个是字典的泛型类,对应于原来的HashTable... 阅读全文
老赵面试题参考答案(五)
2011-09-14 07:56 by coderidea, 3683 阅读, 收藏, 编辑
摘要:
异常的作用是什么?.NET BCL中有哪些常见的异常?在代码中您是如何捕获/处理异常的?在“catch (ex)”中,“throw”和“throw ex”有什么区别?您会如何设计异常的结构,什么情况下您会抛出异常? 异常的作用是什么? 异常用于处理系统级或者应用程序级的错误状态。这就会引发另外几个问题,异常相比原来使用的返回错误代码的优点在哪里?异常处理是一种结构化的处理过程,个人认为他最大的优点就在于将“成功场景”剥离出来,使得代码更加清晰自然。但是异常处理相对于返回错误码有一个缺点,那就是他会失去发生异常的位置。不过异常本身提供了很多帮助调试问题的工具,一般都带有栈跟踪,这样位置的问... 阅读全文
老赵面试题参考答案(三)
2011-09-09 13:42 by coderidea, 4336 阅读, 收藏, 编辑
摘要:
在.NET程序运行过程中,什么是堆,什么是栈?什么情况下会在堆(栈)上分配数据?它们有性能上的区别吗?“结构”对象可能分配在堆上吗?什么情况下会发生,有什么需要注意的吗? 在.NET程序运行过程中,什么是堆,什么是栈? 堆也就是托管堆(managed heap),进程初始化的时候,CLR要保留一块连续的地址空间,这个地址空间最初并没有对应的物理存储空间。这个地址空间就是托管堆。 栈是在程序运行过程中用于保存指令,值类型变量的内存区域(一个线程对应一个栈),栈的结构和数据结构中“栈”的结构是一样的,“先进后出”。 什么情况下会在堆(栈)上分配数据?它们有性能上的区别吗? 值类型在栈上... 阅读全文
老赵面试题参考答案(二)
2011-09-07 15:41 by coderidea, 6065 阅读, 收藏, 编辑
摘要:
前篇中也是老赵面试题的第一题,这篇继续,希望通过这些面试题来找到我们学习的重点,而不是背这些东西,希望以这些个点来系统的去学习.net. 类(class)和结构(struct)的区别是什么?它们对性能有影响吗?.NET BCL里有哪些是类(结构),为什么它们不是结构(类)?在自定义类型时,您如何选择是类还是结构? 先看MSDN上的C# 语言规范上的定义: 类和结构是 .NET Framework 中的常规类型系统的两种基本构造。两者在本质上都属于数据结构,封装着一组整体作为一个逻辑单位的数据和行为。数据和行为是该类或结构的“成员”,它们包含各自的方法、属性和事件等. 类或结构的... 阅读全文
老赵面试题参考答案(一)
2011-09-01 15:52 by coderidea, 9245 阅读, 收藏, 编辑
摘要:
最近刚看到老赵之前发的一篇博文《我在面试.NET/C#程序员时会提出的问题》;尝试回答下,回答不好还忘各位补充: 什么是.NET?什么是CLI?什么是CLR?IL是什么?JIT是什么,它是如何工作的?GC是什么,简述一下GC的工作方式? 什么 是.NET Dot Net是微软在2000提出的一整套平台,包括底层操作系统:Windows;辅助产品:Dot Net企业服务器;Mcirosoft XML Web服务:.Net My Services;开发平台:Dot Net框架,集成的开发环境: Visual Studio 。以上几个部分组成。 底层操作系统:当然是Wind... 阅读全文
Convert.ToBoolean(“0”) 的错误用法
2011-08-26 12:57 by coderidea, 8552 阅读, 收藏, 编辑
摘要:
今天在调试接口时,遇到了以下问题: 运行这句 bool IsRoot = Convert.ToBoolean(dt.Rows[i]["IsRoot"].ToString()) ;结果抛出如下错误:该字符串未被识别为有效的布尔值。开始怀疑表里的数据问题,就换成了Convert.ToBoolean(“0 阅读全文
快速的批量修改重命名.net程序的命名空间
2011-08-16 14:33 by coderidea, 844 阅读, 收藏, 编辑
摘要:
如果想完全的修改命名空间,那么结合ReSharper 来使用 1.打开项目,打开项目中要重命名空间的一个类。光标定位在命名空间,右键,如下图:(此时你会发现没有了原来“重构”那一项,是因为装上了ReSharper) 2. 此时你会发现,如下图(此时不同于VS重构时显示更改的一部分,这时是整个命名空间可以修改正是VS工具不能满足的) 3. 修改后,Next后就OK了,类多的话,得等会,需要一个过程。完后,就OK了,此项目中所有类的命名空间都会重命名,相应的USING 有会更改。 阅读全文
方法的参数和返回类型的指导原则
2011-08-15 07:50 by coderidea, 337 阅读, 收藏, 编辑
摘要:
当我们项目中所用的方法的参数和返回类型应遵循以下原则: 1. 声明方法的参数类型时,应尽量指定最弱的类型,最好是接口而不是基类。 原因:这样使方法更加灵活,适用于更大范围的情形。 2. 相反,一般最好是将方法的返回类型声明为最强的类型(以免受限于特定的类型),有时,你想在不影响调用者前提下修改方法的内部实现。如果某个方法返回一个List<String>对象,就可以想在未来的某个时候修改它的内部实现,以返回一个String[]。如果希望保持一定的灵活性,以便将来更改方法返回的东西,就选择一个较弱的返回 类型。但注意的是在较弱的类型中选择最强的类型。 原因:确保调用者在调用方法时有尽量 阅读全文