1.一个Visual studio软件进程只能打开一个程序集,但是一个程序集可以加载多个项目,通过程序集的添加功能可以实现。

2.F11单步调试,F10跨程序调试(一般用不到)

3.VS如何快速的切换到行尾写;号? ---有时可以使用tab,有时可以使用shift+;键

4.VS中的快捷键,Ctrl+G按照指定行号跳行,Ctrl+A,Ctrl+K,Ctrl+F跳行,F7查看当前winform程序的后台代码,“Shift+ F11”执行当前执行点所处函数的剩余行,“Shift
+ F5”停止运行程序中的当前应用程序。可用于“中断”模式和“运行”模式(这两个调试的时候才经常使用吧,现在感觉没什么用)。

5.字符串= 整型+字符串,这里面存在一个隐式转换,这样写是可行的

6..winforms中控件的反复添加或者删除不会影响性能,如果先删除后台代码,前端出现错误,那么可以通过转到代码处来删除引用来实现完全删除。

7.string.empty 和空字符串有什么区别?答:一样的,string s = string.Empty = "" = null ;

8.一个程序集只有一个命名空间,这个命名空间就是这个程序集下所有程序共享的那个命名空间

9.internal指的是在命名空间内共享,class默认是internal修饰的

10.private 私有构造函数只能在类中使用,在外面无法使用,初始化的时候无法用

11.很少使用代码使用析构函数,但是像数据库连接这种处理,要是不处理掉,是永远不会自动被GAC回收的,所以需要析构函数来处理

12.string.format()是项目中常用的,一般不适用+来链接字符串,那是偷懒的写法

13.a1是变量,string字符串的输出可以这样写$"这次要输出的字符串{a1}"

14.静态构造函数(创建成员或使用静态函数、变量的时候,都会调用静态函数)、普通构造函数(NEW的时候才调用),数据库连接的时候使用,创建一次反复使用,创建时消耗资源的,这样提升了性能,相当于一次性筷子,用一次就好了

15.EventHandler S里面的EventHandler表示一个接口,S表示一个继承了这个接口的类;对类来说也是的,不管是值类型、引用类型,包括抽象类,new才代表实例化,string
s,object o这种仅代表声明,不代表实例化,所以抽象类可以用 Expression left这种声明方式来表示:Expression的子类可以将left替换;

16.匿名方法必须写delegate,不写的话就是lambda表达式了

17.表达式树的作用就是跨编译器传输,linq TO SQL SERVER或者linq to EF上可能用的到,大部分人一辈子都不用到

18. Speak s= new Speak(j.ss); 其中j.ss是j对象ss方法,委托的初始化必须加入一个函数才可以

19.对象的初始化必须加()括号 对象名 j = new 对象名();

20.winform事件默认调用EventHandler委托,这个有两个参数objecjt 和EventArgs,所以所有winform事件都是这两个参数

21.迭代器的用法 yield return(返回的是枚举元素) 和yield break,迭代器是通过编译器的一层额外处理,来简化创建可用于foreach的枚举集合工作,迭代器使我们更加方便的写出可用于foreach循环的枚举集合。我觉得有个模型来理解必须用这个就好了,现在还没找到,无法理解IEnumerator,IEnumerable<T>的用法

22.object实际应该叫做东西,不应该叫做对象

23..function翻译为函数,但是在英文中的涵义是功能,面向过程的语言强调的是功能,不是强调的是过程,面向过程其实强调的是面向功能

24.class描述抽象事物的类型,不再强调功能,强调的是归类,泛泛的东西是类,具体的东西就是对象

25.常数:表示与该类相关联的常数值

26.字段:该类的变量

27.方法,行为,用于实现可由该类执行的计算和操作

28.属性:用于定义一些命名特性,通过它来读取和写入相关的数据

29.事件:用于定义可由该类生成的通知----这个以后改一下,觉得这个定义不怎么好理解

30.索引器:使该类的实例可按与数组相同的方式进行索引

31.运算符:用于定义表达式的运算符,通过对实例进行运算

32.实例构造函数:用于规定在初始化该类的实例时

33.

[] 是针对 特定类型、固定长度的。

List 是针对 特定类型、任意长度的。

Array 是针对 任意类型、固定长度的。

ArrayList 是针对 任意类型、任意长度的。

34.匿名类型的数据是readonly的,不能修改,这些数据值临时使用的,可以看作是装载数据的容器

35.MessageBox.show("this is a test",MessageBoxButtons.ok,MessageBoxIcon.Hand)

36.WINFORM中的简写

LABLE LBL

BUTTON  BTN

FORM        FRM

37.NULL的值是打印不出来的,比如在例子public static readonly 类名A Empty;,Empty只能是A的类或子类,但static的值无法继承或复制,所以Empty就是NULL,且无法修改

38. Array 的命名空间是 System

Array array = Array.CreateInstance(System.Type.GetType("System.Int32"), 3); // Array 是抽象类,不能使用 new Array 创建。

array.SetValue(1, 0);

array.SetValue(2, 1);

array.SetValue(3, 2);

39.VB的语法和C#出入比较大,没有特殊的需要的话,学一门就可以干活了

40.属性SET、GET上的访问修饰符默认是跟属性前面的修饰符一样,如果非要在get或者set上加访问修饰符,就要比前面的属性上的访问修饰符“小”

41.VS中的链接SQL SERVER是干嘛用的?

答:Visual Studio里的SQL项目是设计数据库用的,设计完会生成一个.dacpac文件,你可以拿来用msdeploy部署到一个数据库,生成表、视图、存储过程之类。
但是这个功能是面向软件架构师的,对你这样还在学SQL语句的初学者来说是没有什么用。甚至对于资深的数据库管理员来说,除非他们在和软件架构师合作设计数据库,否则仍旧是没有什么用
42.关于编辑器的选择,我觉得知乎上写的一段很好,摘抄如下:

著作权归作者所有。 商业转载请联系作者获得授权,非商业转载请注明出处。 作者:陈斌 链接:http://www.zhihu.com/question/29984607/answer/46352770 来源:知乎

第一阵营是vim/emacs,你想要的你不想要的都有
第二阵营是sublime,为Emacs/Vim提供了很多未来的高手,也带来了很多插件创意(比如git-gutter)
第三阵营,其他编辑器,对vim/emacs基本无贡献,某些人会最终转到sublime,然后鄙视原来的编辑器,结束了
43.List<T>可以看作对象的集合,在web开发中经常会用在显示列表的运算中
44.接口是单独的类型,不是从system.object继承的

45.C#中使用zipfile关键字的时候,需要在头问价和引用中分别添加引用文件;

46.哈希表这种数据结构似乎无法存储图片的

47.静态方法中没法访问实例变量,而在实例方法中可以(还可以使用关键字this)

48.子类重载父类构造函数base关键字,既可以参数少的重载参数多的,又可以参数多的重载参数少的

49.public static Student operator -(Student s1, Student s2) ,operator这个操作符只能用在Student这个class类中被操作使用

50.结构继承自system.ValueType,类继承自system.Object,区别如下:

结构

  • 没有默认的构造函数,但是可以添加构造函数
  • 没有析构函数
  • 没有 abstract 和 sealed(因为不能继承)
  • 不能有 protected 修饰符
  • 可以不使用 new 初始化
  • 在结构中不能实例化字段,
  • 结构中的属性默认是private,跟类一样

  • 有默认的构造函数
  • 有析构函数
  • 可以使用 abstract 和 sealed
  • 有 protected 修饰符
  • 必须使用 new 初始化

51.虚方法可以任何类中声明,没有限制

52.

System.Collections.IDictionaryEnumerator d = ht.GetEnumerator();

while (d.MoveNext())

{

Console.WriteLine("key:{0} value:{1}", d.Entry.Key, d.Entry.Value);

}

看了这个方法就一下子理解了IEnumerator类型和GetEnumerator方法的用法

53.字典里键值对一把比较复杂的用法,字典的值类型还是一个数组

Dictionary<Tkey,Tvalue>是Hastbale的泛型实现。

Dictionary和HashTable内部实现差不多,但前者无需装箱拆箱操作,效率略高一点。

54.protected IList List { get; },这句话在collectionBase的定义中,通过ILspy反射看到List返回的是this对象,那么访问List返回的就是一个类对象本身,这个对象本身有继承了IList接口,IEnumerable接口,所以他具有集合的特性,可以对它使用索引器this[int index]

 foreach (KeyValuePair<string, string> kvp in myDictionary)

 {

     string key = kvp.Key;//key包含了字典里的键

     for (int i = ; i < kvp.Value.Count; i++)

     {

         Response.Write(kvp.Value[i]);

     }

 }

55.object()函数比较对象的状态,如果一个对象的每个属性值都与另一个对象属性值相同,比较结果就是true,但是==比较的是引用,若两个对象的引用来自同一个对象,那么才返回true

56.throw会抛出一个异常,外层的catch语句会根据catch的参数类型对throw抛出的异常进行匹配,如果成功,就在响应的catch块内得到处理,什么都不抛,那就什么都不做。

57.streamwriter的flush关闭缓存区有什么用吗?用代码实现看看区别 public string age和public string age{set;get;}有什么区别吗? Lambda表达式和lambda语句有什么区别? IEnumerable 和 IEnumerator 有什么区别? 如何实现GetNumerator方法? 什么时候用var qq = from c in d where xxx   select new {}; 什么时候用var qq = d.where().select()

58.接口是否可以继承接口?抽象类是否可以实现接口?抽象类是否可以继承实体类? 答:接口是可以继承接口的,抽象类是可以实现接口的,抽象类可以继承实体类,但是有个条件,条件是,实体类必须要有明确的构造函数,没有也无所谓,编辑器会默认生成一个无参的构造函数。

59.Collection和Collections的区别?   答:Collection是集合类的上级接口,Collections是针对集合类的一个帮助类,它提供一系列静态方法来实现对各种集合的搜索,排序,线程安全化操作。

 

最新文章

  1. JNI输出log信息
  2. 怎么看网站是否开启CDN加速?测试网站全国访问速度方法详解
  3. 【Beta阶段】团队源代码管理
  4. 黄聪:HtmlAgilityPack,C#实用的HTML解析类简介
  5. bootstrap table 服务器端分页例子
  6. Reactor模式,或者叫反应器模式
  7. Agile.Net 组件式开发平台 - 开发环境部署
  8. shell排序算法
  9. Strange Way to Express Integers (一般模线性方程组)
  10. 瑞星杀毒软件、奇虎360杀毒软件、360卫士、百度卫士联手,搞不定弹出广告 &amp;amp; 恶意广告图标
  11. Modelbuilder快速入门
  12. 应邀ITGeGe在线教育社区嵌入式基础开发讲师
  13. ES7 Async/Await 陷阱
  14. 2017软工实践K班总结
  15. 虚拟机连不上网 Xshell连不上虚拟机
  16. SecureCRT显示乱码的解决办法
  17. Jmeter之Bean shell使用
  18. cocos进阶教程(5)各种动画使用心得
  19. Django重定向的写法、与直接渲染的区别
  20. 以上过程为实现equals的标准过程

热门文章

  1. OLR文件丢失的恢复
  2. 我的spark python 决策树实例
  3. php 获取随机字符串(原创)
  4. 利用ajax,canvas实现的测试php程序占用内存的代码
  5. golang iris下面的websocket
  6. 学习英语的小习惯(IT版) 不断补充中~~~~~~
  7. Java 系列之spring学习--依赖注入(二)
  8. 织梦忘记密码DedeCMS密码重设工具radminpass找回密码
  9. 数据结构——单链表java简易实现
  10. SQL Server-数据库架构和对象、定义数据完整性