我也来贴两个快被回答烂了的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(参数)生成需要的文件
}

解决方案 »

  1.   

    最经典的问题,一星期最少一次。没有.Net Framework能否运行C#?
    不能。(在将来可能有MONO的支持)
      

  2.   

    c#中有没有全局变量啊?
    -----------------
    没有,但可以使用静态变量。
    public  class  DBConfig
    {  
       private  static  string  _CnString;  
     
       public  DBConfig()  
    {  
       }  
     
             public  static  string  CnString  
           {
               set
               {
                    _CnString=Value;
               }  
               get  
               {  
                     return  _CnString;  
               }  
           }  
           
     }  
    访问DBConfig.Cn
      

  3.   

    如何退出Win Form程序?
    Application.Exit();
      

  4.   

    我建议广大初学者:
    看书仔细些,看完思考思考,不要技术没学会、思想没领会
    倒学会中国软件业的浮噪来了。
    还有很多,比如说:学.net要看哪本书,哪本书最好之类的问题
    没有哪本书是最好的,只有适合自己的书,拿到哪本书后,甭管
    好还是烂,先看仔细看一篇再说!
      

  5.   

    我来说一下关于接口的一些个人看法接口的本质是一个规则,具体工作的是实现接口的类。
    明显的好处在于,使用者站在接口的立场上而不关心实现接口的具体的类举例如下:我的一个俄罗斯方块接口如下:(iblock)
    提供四个点的坐标,提供一系列方法如:绘制本身、擦除本身、能否移动(参数,方向)
    能否旋转(参数,状态),移动(参数,方向),旋转(参数,状态).....
    然后我写了一个类来实现这个接口,这个类是一个长条。(blockOne)
    当然,还可以再写其他的类来实现这个接口,比如说一个“田”字(blockTwo)在主程序调用的时候我就不关心到底是一个长条还是一个田字,因为我知道他们都是iblock的一个实现。iblock o;o = Block.GetBlocks()//这个方法是一个随机产生方块的方法,具体产生的是一长条,还是一个方块,我不关心,我关心的是,他归根到底实现了iblock接口
    这样,我就可以调用iblock的方法了if(o.CanMove(right))
       o.Move(right)
    大家可以发现,如果要扩充一个古怪的方块,那也一样可以继承这个接口,所需要修改的方法仅仅是Block.GetBlocks()这个随机产生方块的方法。主程序是不用任何修改的。
      

  6.   

    再来帖一个关于执行.Sql脚本的帖子
    有好多人选择用isql.exe,或者osql.exe来实现,这是不科学的
    第一,速度慢。
    第二,如果没有这两个exe,怎么办?
    有兴趣者可以参考
    http://expert.csdn.net/Expert/topic/2995/2995537.xml?temp=.3382074
      

  7.   

    关于水晶报表,大家可以参考一下我之前的一些谈不上经验的经历,这其中还有一个悬而未决的最终问题,有兴趣者seehttp://expert.csdn.net/Expert/topic/2553/2553798.xml?temp=.4428217http://expert.csdn.net/Expert/topic/2640/2640785.xml?temp=.1351587
      

  8.   

    我也放一帖
    在C#下如何读写一个INI文件:
    http://tech.ccidnet.com/pub/article/c294_a26002_p1.html
      

  9.   

    接口是个很奇特的东西,有时它可以作为抽象基类,派生类和它是is-a的关系
    但有时它只表示一种能力,派生类和它是can-do的关系,我觉得它可以根据需要进行角色的转换,而单纯地认为它是一个抽象类型的想法是不全面的。
    我以前一直认为它就是C++里的ADT,仅仅作为多重继承的实现被引进至java及c#
    但我现在改变了看法。 如我理解有不当之处,请指出来, 万分感谢。
      

  10.   

    ==============什么是映像?
    所有的 .NET 编译器都产生关于它们所产生的模块中的类型定义的特殊数据。这些特殊数据同模块封装在一起 (随后模块被封装到元件中),可以通过称为映像 的机制来访问。System.Reflection 命名空间中包含向模块或元件询问其类型的类。 
    使用映像来访问 .NET 的特殊数据同使用 ITypeLib/ITypeInfo 来访问 COM 中的类型库数据非常相似,而且使用的目的也很相似—例如确定数据类型大小,以便在上下文、进程、机器的边界间调度它们。 
    映像还可以被用来动态调用方法 (参见 System.Type.InvokeMember),甚至在运行时动态创建类型 (参见 System.Reflection.Emit.TypeBuilder )。 =================什么是应用程序域?
    应用程序域 (AppDomain) 可以被看作一个轻型的进程。在一个 Win32 进程中可以存在多个 AppDomain。AppDomain 的主要目的是将应用程序和其它应用程序隔离开来。 
    通过使用独立的地址空间,Win32 进程提供隔离性。这种方法很有效,但开销很大并且伸缩性不好。.NET 运行库通过控制对内存的是用来施加 AppDomain 隔离—AppDomain 中的所有内存是由 .NET 运行库来管理的,所以运行库可以确保 AppDomain 之间不能访问彼此的内存。
      

  11.   

    楼主的第一个题目很简单,第二个就比较有意思了。
    大家可以编译后(假设csc test.cs为test.exe),然后test.exe>result.txt,看看结果。看看为什么会有异常?!
      

  12.   

    我也要学c# web编程序,希望大家多多支持我哦
      

  13.   

    <<THINK IN JAVA>>里对接口有经典描述,不过一般如果只是开发应用类系统,用不到
      

  14.   

    为什么有的时候VS建项目建不起来检查一下IIS里的设置,1,最好是默认设置,2,注意IE的里有没有设置代理
      

  15.   

    属性Assembly和反射的定义
    属性 :在程序运行时的一些相关辅助信息
    反射 :在程序运行时进行检查和取得相关信息的一种手段
      

  16.   

    不使用IIS运行 asp.net  
      可以使用 Cassini (www.asp.net)
      

  17.   

    楼主的那个题我在VS2003下进行编译,
    第一个
    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是这样吗?
      

  18.   

    class First
    class Second: First 
    class Third: Second 
    连续继承.
      

  19.   

    垃圾时是个多线程进行的
      public static void Main()  
       { 
         
             Second sobj= new Second(); 
          First fobj =new First(); 
          Third myObject = new Third(); }所以个人认为是无法确定顺序的还有一个说法就是回收器有“可能”根本就不执行析构函数。个人看法:)