夜鹰教程网-程序员的加油站
 当前位置:文章中心 >> vs2022_vs2019_vs2017_vs2014_vs2012
考考你:C#常见题型及部分答案
夜鹰教程网 来源:www.yyjcw.com 日期:2016-10-22 20:57:07
C#常见题型部分答案

一 、c#的入口函数Main()
存在与某个类中
每个项目只能有一个
可以没有public
必须有static
必须有返回类型
必须第一个字母大写

二、Form常用属性
(1)Name属性:用来获取或设置窗体的名称。
(2)WindowState属性:用来获取或设置窗体的窗口状态。
(3)StartPosition属性:用来获取或设置运行时窗体的起始位置。
(4)Text属性:该属性是一个字符串属性,用来设置或返回在窗口标题栏中显示的文字。
(5)Width属性:用来获取或设置窗体的宽度。
(6)Heigth属性:用来获取或设置窗体的高度。
(7)Left属性:用来获取或设置窗体的左边缘的 x 坐标(以像素为单位)。
(8)Top属性:用来获取或设置窗体的上边缘的 y 坐标(以像素为单位)。
(9)ControlBox属性:用来获取或设置一个值,该值指示在该窗体的标题栏中是否显示控制框。
(10)MaximumBox属性:用来获取或设置一个值,该值指示是否在窗体的标题栏中显示最大化按钮。
(11)MinimizeBox属性:用来获取或设置一个值,该值指示是否在窗体的标题栏中显示最小化按钮。
(12)AcceptButton属性:该属性用来获取或设置一个值,该值是一个按钮的名称,当用户按 ENTER 键时就相当于单击了窗体上的该按钮。
(13)CancelButton属性:该属性用来获取或设置一个值,该值是一个按钮的名称,当用户按ESC键时就相当于单击了窗体上的该按钮。
(14)Modal属性:该属性用来设置窗体是否为有模式显示窗体。
(15)ActiveControl属性:用来获取或设置容器控件中的活动控件。
(16)ActiveMdiChild属性:用来获取多文档界面(MDI)的当前活动子窗口。
(17)AutoScroll属性:用来获取或设置一个值,该值指示窗体是否实现自动滚动。
(18)BackColor属性:用来获取或设置窗体的背景色。
(19)BackgroundImage属性:用来获取或设置窗体的背景图像。
(20)Enabled属性:用来获取或设置一个值,该值指示控件是否可以对用户交互作出响应。
(21)Font属性:用来获取或设置控件显示的文本的字体。
(22)ForeColor属性:用来获取或设置控件的前景色。
(23)IsMdiChild属性:获取一个值,该值指示该窗体是否为多文档界面 (MDI) 子窗体。
(24)IsMdiContainer属性:获取或设置一个值,该值指示窗体是否为多文档界面 (MDI) 中的子窗体的容器。
(25)KeyPreview属性:该属性用来获取或设置一个值,该值指示在将按键事件传递到具有焦点的控件前,窗体是否将接收该事件。
(26)MdiChildren属性:数组属性。
(27)MdiParent属性:该属性用来获取或设置此窗体的当前多文档界面 (MDI) 父窗体。
(28)ShowInTaskbar属性:该属性用来获取或设置一个值,该值指示是否在 Windows 任务栏中显示窗体。
(29)Visible属性:该属性获取或设置一个值,该值指示是否显示该窗体或控件。
(30)Capture属性:如果该属性值为true,则鼠标就会被限定只由此控件响应,不管鼠标是否在此控件的范围内。

(1)Show方法
该方法的作用是让窗体显示出来,其调用格式为:
窗体名.Show();
(2)Hide方法
该方法的作用是把窗体隐藏出来,其调用格式为:
窗体名.Hide();
(3)Refresh方法
该方法的作用是刷新并重画窗体,其调用格式为:
窗体名.Refresh();
(4)Activate方法
该方法的作用是激活窗体并给予它焦点。其调用格式为:
窗体名.Activate();
(5)Close方法
该方法的作用是关闭窗体。其调用格式为:
窗体名.Close();
(6)ShowDialog方法
该方法的作用是将窗体显示为模式对话框。其调用格式为:
窗体名.ShowDialog();


三、C#所有异常类的名称以及作用?
类 说明
Microsoft.Build.BuildEngine.InternalLoggerException 此异常用于包装来自记录器的未处理异常。
Microsoft.Build.BuildEngine.InvalidProjectFileException 当用户的 XML 项目文件出现问题时,会引发此异常。该问题可能是语义问题也可能是语法问题。如果该问题是语法问题,则通常是由 XSD 验证导致的。
Microsoft.Build.Framework.LoggerException 使记录器可以通过显式方式强制生成停止。
Microsoft.JScript.CmdLineException
Microsoft.JScript.ParserException
Microsoft.VisualBasic.ApplicationServices.CantStartSingleInstanceException 当单实例应用程序的后续实例无法连接到第一个应用程序实例时,将引发此异常。
Microsoft.VisualBasic.ApplicationServices.NoStartupFormException 当未设置 MainForm 属性时,Visual Basic 应用程序模型会引发此异常。
Microsoft.VisualBasic.CompilerServices.IncompleteInitialization
Microsoft.VisualBasic.CompilerServices.InternalErrorException
Microsoft.VisualBasic.FileIO.MalformedLineException 当 ReadFields 方法不能使用指定格式分析行时引发的异常。
Microsoft.WindowsMobile.DirectX.DirectXException 由托管代码应用程序的 Windows Mobile DirectX 引发的异常。
System.ApplicationException 发生非致命应用程序错误时引发的异常。
System.ComponentModel.Design.ExceptionCollection 表示异常的集合。
System.Configuration.Provider.ProviderException 当发生配置提供程序错误时引发的异常。如果提供程序内发生的内部错误没有映射到其他已存在的异常类,则提供程序也使用此异常类来引发异常。
System.Configuration.SettingsPropertyIsReadOnlyException 提供只读 SettingsProperty 对象的异常。
System.Configuration.SettingsPropertyNotFoundException 提供未找到的 SettingsProperty 对象的异常。
System.Configuration.SettingsPropertyWrongTypeException 提供在对 SettingsProperty 对象使用无效类型时引发的异常。
System.DirectoryServices.ActiveDirectory.ActiveDirectoryObjectExistsException 当创建了 Active Directory 对象且该对象在基础目录存储区中已存在时,将引发 ActiveDirectoryObjectExistsException 类异常。
System.DirectoryServices.ActiveDirectory.ActiveDirectoryObjectNotFoundException 当在基础目录存储区中找不到请求的对象时,将引发 ActiveDirectoryObjectNotFoundException 类异常。
System.DirectoryServices.ActiveDirectory.ActiveDirectoryOperationException 当基础目录操作失败时,将引发 ActiveDirectoryOperationException 类异常。
System.DirectoryServices.ActiveDirectory.ActiveDirectoryServerDownException 当服务器无法响应服务请求时,将引发 ActiveDirectoryServerDownException 类异常。
System.DirectoryServices.Protocols.DirectoryException DirectoryException 类是一个抽象类,用作所有 System.DirectoryServices.Protocols 异常的基类。
System.IO.IsolatedStorage.IsolatedStorageException 独立存储中的操作失败时所引发的异常。
System.Net.Mail.SmtpException 表示当 SmtpClient 无法完成 Send 或 SendAsync 操作时引发的异常。
System.Runtime.CompilerServices.RuntimeWrappedException 包装不是从 Exception 类派生的异常。无法继承此类。
System.Runtime.Remoting.MetadataServices.SUDSGeneratorException 在生成 Web 服务描述语言 (WSDL) 的过程中发生错误时将引发的异常。
System.Runtime.Remoting.MetadataServices.SUDSParserException 在分析 Web 服务描述语言 (WSDL) 的过程中发生错误时将引发的异常。
System.SystemException 为 System 命名空间中的预定义异常定义基类。
System.Web.Security.MembershipCreateUserException 在成员资格提供程序未成功创建用户时引发的异常。
System.Web.Security.MembershipPasswordException 无法从密码存储区检索到密码时引发的异常。
System.Web.UI.ViewStateException 表示当无法加载或验证视图状态时引发的异常。无法继承此类。
System.Windows.Forms.AxHost.InvalidActiveXStateException 引用处于无效状态的 ActiveX 控件时引发的异常。

16、写出reader.Read()方法的作用和返回值
从sqlserver数据库的第一条开始查,直到最后一条记录。
false true

17、out和ref的作用 及区别

C#中的out与ref
MSDN上的简单介绍:

  out 关键字会导致参数通过引用来传递。这与 ref 关键字类似,不同之处在于 ref 要求变量必须在传递之前进行初始化。若要使用 out 参数,方法定义和调用方法都必须显式使用 out 关键字。例如:class OutExample
{
     static void Method(out int i)
     {
         i = 44;
     }
     static void Main()
     {
         int value;
         Method(out value);
         // value is now 44
     }


尽管作为 out 参数传递的变量不需要在传递之前进行初始化,但需要调用方法以便在方法返回之前赋值。

ref 和 out 关键字在运行时的处理方式不同,但在编译时的处理方式相同。因此,如果一个方法采用 ref 参数,而另一个方法采用 out 参数,则无法重载这两个方法。但是,如果一个方法采用 ref 或 out 参数,而另一个方法不采用这两类参数,则可以进行重载。

示例:

        当希望方法返回多个值时,声明 out 方法很有用。使用 out 参数的方法仍然可以将变量用作返回类型(请参见 return),但它还可以将一个或多个对象作为 out 参数返回给调用方法。此示例使用 out 在一个方法调用中返回三个变量。请注意,第三个参数所赋的值为 Null。这样便允许方法有选择地返回值。

class OutReturnExample
{
     static void Method(out int i, out string s1, out string s2)
     {
         i = 44;
         s1 = "I''ve been returned";
         s2 = null;
     }

20、HashTable 的作用和写法
Hashtable表操作

发布人:admin 发布日期: 2007-12-17 阅读: 129 

using   System;
using   System.Collections;

namespace   HashtableTest
{
        class   Program
        {
                static   void   Main(string[]   args)
                {
                        //   哈希表默认容量是   7,内部数组初始大小为   11
                        //   每次扩容性能损失相当大,所以最好直接给定   capacity   值
                        Hashtable   htt   =   new   Hashtable(100);

                        for   (int   i   =   0;   i   <   100;   i++)
                                htt.Add(i,   i);
                        Console.WriteLine(htt.Count);

                        //   使用一个副本,退出   foreach   就回收了,不会造成大的性能影响
                        foreach   (int   key   in   ((Hashtable)htt.Clone()).Keys)
                                if   (key   %   2   ==   0)
                                        htt.Remove(key);
                        Console.WriteLine(htt.Count);
                }
        }
}
 

hashtable的用法
 
 
 
1.
Hashtable mhashtable = new Hashtable();
 2.

 public Hashtable getMhashtable() {
  return mhashtable;
 }
3.
uHashtable.put(username, usernamue);
 
4.
LdapParse createM = new LdapParse();
Hashtable hashKey = (Hashtable)createM.getUHashtable();
 Enumeration enum;
 String name, value;
 enum = hashKey.keys();
 while (enum.hasMoreElements())
 {
  name = (String) enum.nextElement();
  value = (String) hashKey.get(name);
 }
 
Hashtable
一,哈希表(Hashtable)简述

  在.NET work中,Hashtable是System.Collections命名空间提供的一个容器,用于处理和表现类似key/的键值对,其中key通常可用来快速查找,同时key是区分大小写;用于存储对应于key的值。Hashtable中key/键值对均为object类型,所以Hashtable可以支持任何类型的key/键值对.

二,哈希表的简单操作

 在哈希表中添加一个key/键值对:HashtableObject.Add(key,);
 在哈希表中去除某个key/键值对:HashtableObject.Remove(key);
 从哈希表中移除所有元素:           HashtableObject.Clear();
 判断哈希表是否包含特定键key:      HashtableObject.Contains(key);
 下面控制台程序将包含以上所有操作:
using System;
using System.Collections; //使用Hashtable时,必须引入这个命名空间
class hashtable
{
  public static void Main()
  {
  Hashtable ht=new Hashtable(); //创建一个Hashtable实例
  ht.Add("E","e");//添加key/键值对
  ht.Add("A","a");
  ht.Add("C","c");
  ht.Add("B","b");

  string s=(string)ht["A"];
  if(ht.Contains("E")) //判断哈希表是否包含特定键,其返回值为true或false
    Console.WriteLine("the E key:exist");
  ht.Remove("C");//移除一个key/键值对
  Console.WriteLine(ht["A"]);//此处输出a
  ht.Clear();//移除所有元素
  Console.WriteLine(ht["A"]); //此处将不会有任何输出
  }
}

三,遍历哈希表

 遍历哈希表需要用到DictionaryEntry Object,代码如下:
 for(DictionaryEntry de in ht) //ht为一个Hashtable实例
 {
   Console.WriteLine(de.Key);//de.Key对应于key/键值对key
   Console.WriteLine(de.);//de.Key对应于key/键值对
 }

四,对哈希表进行排序

  对哈希表进行排序在这里的定义是对key/键值对中的key按一定规则重新排列,但是实际上这个定义是不能实现的,因为我们无法直接在Hashtable进行对key进行重新排列,如果需要Hashtable提供某种规则的输出,可以采用一种变通的做法:
 ArrayList akeys=new ArrayList(ht.Keys); //别忘了导入System.Collections
 akeys.Sort(); //按字母顺序进行排序
 for(string skey in akeys)
 {
   Console.Write(skey ":");
   Console.WriteLine(ht[skey]);//排序后输出
 }

复制链接 网友评论 收藏本文 关闭此页
上一条: TextBox控件:asp.net中如何为密码…  下一条: IIS日志分析是我们asp.net程序员必须了…
夜鹰教程网成立于2008年,目前已经运营了将近 13 年,发布了大量关于 html5/css3/C#/asp.net/java/python/nodejs/mongodb/sql server/android/javascript/mysql/mvc/easyui/vue/echarts原创教程。 我们一直都在坚持的是:认证负责、一丝不苟、以工匠的精神来打磨每一套教程,让读者感受到作者的用心。我们默默投入的时间,确保每一套教程都是一件作品,而不是呆板的文字和视频! 目前我们推出在线辅导班试运营,模式为一对一辅导,教学工具为QQ。我们的辅导学科包括 java 、android原生开发、webapp开发、商城开发、C#和asp.net开发,winform和物联网开发、web前端开发,但不仅限于此。 普通班针对的是国内学员,例如想打好基础的大学生、想转行的有志青年、想深入学习的程序员、想开发软件的初学者或者业余爱好者等。 就业办针对即将毕业上岗的大四学生,或者打算转行的初级开发工程师。 留学生班针对的是在欧美、加拿大、澳洲、日本、韩国、新加坡等地留学的中国学子,目的是让大家熟练地掌握编程技能,按时完成老师布置的作业,并能顺利地通过考试。 详细咨询QQ:1416759661   夜鹰教程网  基于角色的权限管理系统(c-s/b-s)。
  夜鹰教程网  基于nodejs的聊天室开发视频教程
  夜鹰教程网  Git分布式版本管理视频教程
  夜鹰教程网  MVC+EasyUI视频教程
  夜鹰教程网  在线考试系统视频教程
  夜鹰教程网  MongoDB视频教程。
  夜鹰教程网 Canvas视频教程
  夜鹰教程网 报表开发视频教程
  热点推荐
一个关于天气预报的WebService【C…
VS2010最大的新特点是并行编程的进…
TextBox控件:asp.net中如何为密码…
Web服务调用实例:实现天气预报的…
ASP.NET程序员面试试题(130道题)
ASP.NET教程:调用WebService的源码…
网站开发全程设计
据说这套.net面试题很多网络公司都…
考考你:C#常见题型及部分答案
原创:.net读取数据库sql2000
伪静态URL重写配置
配置web.config代码asp.net3.5个性…
使用线程池提高性能 Socket网络编…
ASP.NET(C#)GridView表头的增加…
如何找到正确的学习方向【.NET版】…
  最近更新
C#修改注册表demo
一个获取内容中的图片地址的方法
ASP.NET 4.0尚未在 Web 服务器上注…
四大作用域:application,session…
ConfigurationManager不存在的解决…
vs2012_vs2013_vs2015没有Web Dep…
vs2015禁用解决方案中单击打开文件…
微软为Visual Studio 2015新增安卓…
C#如何实现搜索引擎网络爬虫程序
C#中正则表达式的用法
用C#抓取需要登录的页面数据
VS2015新功能
VS2015安装图解教程
vs2015新功能介绍
vs2015安装图解

关于我们 | 网站建设 | 技术辅导 | 常见问题 | 联系我们 | 友情链接

夜鹰教程网 版权所有 www.yyjcw.com All rights reserved 备案号:蜀ICP备08011740号3