我也来贴两个快被回答烂了的1. 怎么判断一个字符串的内容为数字?
最佳答案是使用正则表达式判断
string str;
...
int i;
if(str != null && Regex.IsMatch(str,@"^\d+$"))
i = int.Parse(str);2. 怎样使用WebService传输文件?
这里有两个办法
一个是使用byte[]传递,一个是使用WSE附件传递
前面一个:
[WebMethod]
public byte[] GetFileData(string requestFileName)
{
// 这里打开一个文件,返回文件的byte[]
}
[WebMethod]
public void SetFileData(byte[] data)
{
// 这里用data(参数)生成需要的文件
}
最佳答案是使用正则表达式判断
string str;
...
int i;
if(str != null && Regex.IsMatch(str,@"^\d+$"))
i = int.Parse(str);2. 怎样使用WebService传输文件?
这里有两个办法
一个是使用byte[]传递,一个是使用WSE附件传递
前面一个:
[WebMethod]
public byte[] GetFileData(string requestFileName)
{
// 这里打开一个文件,返回文件的byte[]
}
[WebMethod]
public void SetFileData(byte[] data)
{
// 这里用data(参数)生成需要的文件
}
不能。(在将来可能有MONO的支持)
-----------------
没有,但可以使用静态变量。
public class DBConfig
{
private static string _CnString;
public DBConfig()
{
}
public static string CnString
{
set
{
_CnString=Value;
}
get
{
return _CnString;
}
}
}
访问DBConfig.Cn
Application.Exit();
看书仔细些,看完思考思考,不要技术没学会、思想没领会
倒学会中国软件业的浮噪来了。
还有很多,比如说:学.net要看哪本书,哪本书最好之类的问题
没有哪本书是最好的,只有适合自己的书,拿到哪本书后,甭管
好还是烂,先看仔细看一篇再说!
明显的好处在于,使用者站在接口的立场上而不关心实现接口的具体的类举例如下:我的一个俄罗斯方块接口如下:(iblock)
提供四个点的坐标,提供一系列方法如:绘制本身、擦除本身、能否移动(参数,方向)
能否旋转(参数,状态),移动(参数,方向),旋转(参数,状态).....
然后我写了一个类来实现这个接口,这个类是一个长条。(blockOne)
当然,还可以再写其他的类来实现这个接口,比如说一个“田”字(blockTwo)在主程序调用的时候我就不关心到底是一个长条还是一个田字,因为我知道他们都是iblock的一个实现。iblock o;o = Block.GetBlocks()//这个方法是一个随机产生方块的方法,具体产生的是一长条,还是一个方块,我不关心,我关心的是,他归根到底实现了iblock接口
这样,我就可以调用iblock的方法了if(o.CanMove(right))
o.Move(right)
大家可以发现,如果要扩充一个古怪的方块,那也一样可以继承这个接口,所需要修改的方法仅仅是Block.GetBlocks()这个随机产生方块的方法。主程序是不用任何修改的。
有好多人选择用isql.exe,或者osql.exe来实现,这是不科学的
第一,速度慢。
第二,如果没有这两个exe,怎么办?
有兴趣者可以参考
http://expert.csdn.net/Expert/topic/2995/2995537.xml?temp=.3382074
在C#下如何读写一个INI文件:
http://tech.ccidnet.com/pub/article/c294_a26002_p1.html
但有时它只表示一种能力,派生类和它是can-do的关系,我觉得它可以根据需要进行角色的转换,而单纯地认为它是一个抽象类型的想法是不全面的。
我以前一直认为它就是C++里的ADT,仅仅作为多重继承的实现被引进至java及c#
但我现在改变了看法。 如我理解有不当之处,请指出来, 万分感谢。
所有的 .NET 编译器都产生关于它们所产生的模块中的类型定义的特殊数据。这些特殊数据同模块封装在一起 (随后模块被封装到元件中),可以通过称为映像 的机制来访问。System.Reflection 命名空间中包含向模块或元件询问其类型的类。
使用映像来访问 .NET 的特殊数据同使用 ITypeLib/ITypeInfo 来访问 COM 中的类型库数据非常相似,而且使用的目的也很相似—例如确定数据类型大小,以便在上下文、进程、机器的边界间调度它们。
映像还可以被用来动态调用方法 (参见 System.Type.InvokeMember),甚至在运行时动态创建类型 (参见 System.Reflection.Emit.TypeBuilder )。 =================什么是应用程序域?
应用程序域 (AppDomain) 可以被看作一个轻型的进程。在一个 Win32 进程中可以存在多个 AppDomain。AppDomain 的主要目的是将应用程序和其它应用程序隔离开来。
通过使用独立的地址空间,Win32 进程提供隔离性。这种方法很有效,但开销很大并且伸缩性不好。.NET 运行库通过控制对内存的是用来施加 AppDomain 隔离—AppDomain 中的所有内存是由 .NET 运行库来管理的,所以运行库可以确保 AppDomain 之间不能访问彼此的内存。
大家可以编译后(假设csc test.cs为test.exe),然后test.exe>result.txt,看看结果。看看为什么会有异常?!
属性 :在程序运行时的一些相关辅助信息
反射 :在程序运行时进行检查和取得相关信息的一种手段
可以使用 Cassini (www.asp.net)
第一个
Third myObject = new Third();结果是:
First's destructor is called
Second's destructor is called
Third's destructor is called第二个
Second sobj = new Second();
First fobj = new First();
Third myObject = new Third();结果是:
First's destructor is called
Second's destructor is called
First's destructor is called
First's destructor is called
Second's destructor is called
Third's destructor is called是这样吗?
class Second: First
class Third: Second
连续继承.
public static void Main()
{
Second sobj= new Second();
First fobj =new First();
Third myObject = new Third(); }所以个人认为是无法确定顺序的还有一个说法就是回收器有“可能”根本就不执行析构函数。个人看法:)