C# 语言高级特性知识导航贴,持续更新

少有人走的路

勇哥的工业自动化技术专题网站, 

C# 语言高级特性知识导航贴子,持续更新中


目录


LinQ相关

表达式树

异步编程

委托与事件

C shape基础回顾

新版C shape的特性

反射相关

WPF教程

WorkFlow教程

C shape设计模式

visual studio C shape中常用的快捷键

常用程序的快速启动

常见的Git指令

UML类图

牛人博客

常见的模块插件

    OSGI.net



LinQ相关


LinQ实战学习笔记(一) LINQ to (Objects, XML, SQL) 入门初步

LinQ实战学习笔记(二) C#增强特性

LinQ实战学习笔记(三) 序列,查询操作符,查询表达式,表达式树

LinQ实战学习笔记(四) LINQ to Object, 常用查询操作符


入门:《走进 LINQ 的世界

进阶:《LINQ 标准查询操作概述(强烈推荐)

技巧:《Linq To Objects - 如何操作字符串

Linq To Objects - 如何操作文件目录


表达式树


表达式树练习实践:入门基础   

表达式树练习实践:C# 循环与循环控制

表达式树练习实践:C#判断语句  

表达式树练习实践:C# 五类运算符的表达式树表达  

表达式树练习实践:变量、常量与赋值   

表达式树练习实践:C#值类型、引用类型、泛型、集合、调用函数   

C# 知识回顾 - 表达式树 Expression Trees

C# 表达式树 创建、生成、使用、lambda转成表达式树~表达式树的知识详解   


异步编程


异步编程系列1:

走进异步编程的世界 - 开始接触 async/await(推荐)

走进异步编程的世界 - 剖析异步方法(上)

走进异步编程的世界 - 剖析异步方法(下)

走进异步编程的世界 - 在 GUI 中执行异步操作

异步编程系列2:

利用 async & await 的异步编程

怎样使用 async & await 一步步将同步代码转换为异步编程

利用 async & await 进行异步 IO 操作

async 的三大返回类型


委托与事件


C# 知识回顾 - 委托 delegateC# 知识回顾 - 委托 delegate (续)

C# 知识回顾 - 事件入门C# 知识回顾 - Event 事件


C shape基础回顾


C# 知识回顾 - 序列化

C# 知识回顾 - 特性 Attribute剖析 AssemblyInfo.cs - 了解常用的特性 Attribute

C# 知识回顾 - 装箱和拆箱

C# 知识回顾 - 你真的懂异常(Exception)吗?(为以下 3 篇异常的合并与总结: C# 知识回顾 - 异常介绍C# 知识回顾 - 学会使用异常C# 知识回顾 - 学会处理异常 )

string 与 String,大 S 与小 S 之间没有什么不可言说的秘密

了解过入口函数 Main() 吗?带你用批处理玩转 Main 函数

回眸 C# 的前世今生 - 见证 C# 6.0 的新语法特性(推荐)

C# 基础回顾 - 匿名方法

C#写文件方法总结

C# 线程池基础上    

C# PropertyGrid控件应用心得

C#中out和ref的区别


Log4net在类库中的用法   

泛型编程之强制类型转换、继承和泛型   

C#关键字之Partial详解   

C#中Abstract和Virtual的区别   

C# 运算符重载   

C#共有六种访问修饰符:public、private、protected、internal、protected internal、sealed

勇哥谈谈C#中的接口Interface的常用套路


新版C shape的特性


C#7.0新特性(VS2017可用)
C# 7 中的模范和实践
C# 这些年来受欢迎的特性
VS2017 C#7 新特性

VS 2019 来了,C#8.0 新增功能



反射相关

C# 反射取得类的属性名、类型、值

C# 反射的知识点实验程序

[netMarketing类库] reflectHelper类:反射功能辅助类

C#反射:GetManifestResourceStream 获取项目资源

C#- 反射之 GetType()方法

C# 反射调用另一个模块中的窗体并显示

C# PropertyGrid控件应用心得


WPF教程


前言:WPF之What&Why  

WPF之XMAL----XMAL概览    

WPF之从0开始学习XMAL   

WPF学习---系统的学习XAML语法   

WPF学习之X名称空间详解   

WPF学习之控件与布局   

WPF之Binding深入探讨   

WPF学习之深入浅出话属性  

WPF之深入浅出话事件  

WPF学习之深入浅出话命令 

WPF深入浅出话资源  

WPF学习之深入浅出话模板   

WPF学习之绘图和动画 



WorkFlow教程


WF4.0实战(十一):邮件通知  

vs2017没有workflow项目吗? 

WF工作流设计器   

WF工作流持久化  

WF4 数据模型  

WF4 Bookmark  

《WF编程》系列之40 - 自定义活动:活动的执行  

WF4.0流程设计器 (NET4.0 RC 版)  



WF4.0 基础篇 (一)开始使用WF   

 WF4.0 基础篇 (二) Activity介绍及WriteLine Activity的使用 

WF4.0 基础篇 (三) 流程实例WorkflowApplication与设计WF程序的基本原则  

WF4.0 基础篇 (四) 顺序容器Sequence 与CodeActivity  

WF4.0 基础篇 (五) 数据的传递 Variable变量  

WF4.0 基础篇 (六) 数据的传递 Arguments 参数  

WF4.0 基础篇 (七) 数据的传递 变量与参数的使用 

WF4.0 基础篇 (八) 控制流Activity  

WF4.0 基础篇 (九) 控制流Activity  

 WF4.0 基础篇 (十) Collection 集合操作  

WF4.0 基础篇 (十一) Excetpion 异常 与 TerminateWorkflow 结束流程  

WF4.0 基础篇 (十二) CancellationScope 取消容器  

WF4.0 基础篇 (十三) InvokeMethod 调用方法  

WF4.0 基础篇 (十四) Delay 与WF4中的线程  

WF4.0 基础篇 (十五) TransactionScope 事物容器 

WF4.0 基础篇 (十六) CompensableActivity 补偿  

WF4.0 基础篇 (十七) Bookmark 

WF4.0 基础篇 (十八) Flowchar  

WF4.0 基础篇 (十九) Persistence 持久化  

WF4.0 基础篇 (二十) ActivityWithResult 有返回值Activity  

WF4.0 基础篇 (二十一) WorkflowInvoker 

WF4.0 基础篇 (二十二) Tracking 

WF4.0 基础篇 (二十三) 范型Activity  

WF4.0 基础篇 (二十四) Async Activity  

WF4.0 基础篇 (二十五) ActivityAction 与 InvokeAction  




WF 从入门到精通(第十五章):工作流和事务  

WF 从入门到精通(第十四章):基于状态的工作流  

WF 从入门到精通(第十三章):打造自定义活动  

WF 从入门到精通(第十二章):策略和规则

WF 从入门到精通(第十一章):并行活动

WF 从入门到精通(第十章):事件活动

WF 从入门到精通(第九章):逻辑流活动

WF 从入门到精通(第八章):调用外部方法及工作流

WF 从入门到精通(第七章):基本活动的操作

WF 从入门到精通(第六章):加载和卸载实例

WF 从入门到精通(第五章):workflow 跟踪

WF 从入门到精通(第四章):活动及workflow 类型介绍

WF 从入门到精通(第三章):workflow 实例  

WF 从入门到精通(第二章):workflow 运行时  

WF 从入门到精通(第一章):Workflow 简介  


C shape设计模式


C# 设计模式练手(一):简单类工厂

C# 设计模式练手(二):单例模式  




visual studio C shape中常用的快捷键


Ctrl+k,c                    批量注释
Ctrl+k,u                    取消批量注释
F5                            run程序
F11                        逐语句
F10                        逐过程
Ctrl+shift+f9          删除全部断点
F12                        转到对象定义处
Alt+方向上下键        当前行上下移动
shift+F12                查找对象所有的引用
ctrl+-                    向后导航。按f12键后,按此键可以退回刚才的位置
ctrl+shift+-            向前导航

ctrl+shift+H            查找替换
Ctrl+.                    在类名上按这个键,快速添加命名空间,事先必须要引用dll。
Ctrl + M + O         折叠所有方法
Ctrl + M + L          展开所有方法
Ctrl + W+T            任务列表
Ctrl+MM                快速折叠光标所在的当前方法
Ctrl+Alt+X            打开工具箱
Ctrl+Alt+L            解决方案管理器
Ctrl+Alt+I            即时窗口,可以测试函数结果
Shift+Alt+Enter    全屏幕
Ctrl+G                    转到对应行,即使不打开行号的情况下也有效果,也可以双击任务栏行号。

image.png        

打开行号方法如下图:

image.png

Ctrl+\,T            打开任务列表

任务列表可以显示todo:的代码段,一般用来定位程序关键部分,或者用来注释未完成部分。

image.png

atl+鼠标选择            创建矩形选区

矩形选区如下图所示。

image.png

Ctrl+tab        快速在不同窗口间切换

image.png

输入prop 按两次tab可以生成自动属性

Ctrl+R,E            生成封闭字段


常用程序的快速启动


notepad            记事本
excel                    excel
hdevelop            halcon
smss                    sql server Management studio
cmd                    命令提示窗口
calc                    计算器
photoshop         ps
mspaint              画图
osk                      虚拟键盘
mstsc                   远程桌面
gpedit.msc            组策略
regsvr32              注册控件

sysdm.cpl             计算机属性
ncpa.cpl                网络设备列表
win键+E                资源管理器
win键+R                运行                   
win键+R, 敲入cmd, 按ctrl+shift+enter            以管理员方式运行cmd
win键+shift+S       截图,还可以标注,十分好用!再也不用用微信截图了!
ctrl+shift+esc        进程管理器

devenv.exe          vs201*的执行文件名字
Shell:AppsFolder   打开win10中安装好的程序列表


常见的Git指令


git push -u origin master

更新到远程库



git push -u origin master -f

使用强制push的方法:这样会使远程修改丢失


git pull origin master

下载当前分支


git remote -v   查看远程仓库地址


git branch  查看当前的分支

git branch -a    查看远程分支

git checkout master   切换到master分支


git reflog   查看历史的commit

git reset --hard  b769fe2053a4285273a4330c0f100a973140f47f    回到指定的commit的版本





git add .   

git commit -m "注释内容"    主要是将暂存区里的改动给提交到本地的版本库


https://git-scm.com/    官方git工具的下载地址

image.png


UML类图


深入浅出UML类图(一) 

深入浅出UML类图(二)  

深入浅出UML类图(三) 

深入浅出UML类图(四)  

深入浅出UML类图(五)  

使用VS2013或VS2015生成UML类图  


牛人博客


https://blog.csdn.net/lovelion/category_738449.html     刘伟技术博客  专注软件架构、设计模式、重构、UML和OOAD!CSDN博客排名:200



常见的模块插件


OSGi.NET


OSGI.NET 服务示例   

OSGI.NET 模块化示例演示   

创建OSGI主程序   


OSGi.NET 学习笔记 [目录] 

OSGi.NET 学习笔记 [前言] [环境准备]   

OSGi.NET 学习笔记 [模块化和插件化][概念]  

OSGi.NET 学习笔记 [模块化和插件化][实例]  

OSGi.NET 学习笔记 [模块化和插件化][小结]   

OSGi.NET 学习笔记 [面向服务架构支持][概念]  

OSGi.NET 学习笔记 [面向服务架构支持][实例][小结]  

OSGi.NET 学习笔记 [模块可扩展支持][概念][实例]   

OSGi.NET 学习笔记 [模块可扩展支持][小结]  

OSGi.NET 学习笔记 [热插拔与动态支持][概念][实例][小结]  

OSGi.NET 学习笔记 [多环境支持] [高级话题] 

OSGi.NET 学习笔记 [高级话题] [如何划分模块?] 



在线工具


https://tool.oschina.net/commons?type=4    ascII码表,颜色表



--------------------- 

作者:hackpig

来源:www.skcircle.com

版权声明:本文为博主原创文章,转载请附上博文链接!


#转载请注明出处 www.skcircle.com 《少有人走的路》勇哥的工业自动化技术网站。如果需要本贴图片源码等资源,请向勇哥索取。
扫码加本站公众号
  • 评论列表:
  •  访客
     发布于 2020-12-06 16:02:20  回复该评论
  • 勇哥,这个C#介绍是不是可以理解为做机器视觉软件工程师需要掌握的C#内容?是否有再通俗的点,初级 中级 高级内容划分?谢谢。
    •  勇哥,很想停止
       发布于 2020-12-06 17:38:47  回复该评论
    • 这些内容并不是机器视觉软件工程师必须要掌握的C#内容。仅仅是一些较为高级的话题。
      记录这些知识仅是勇哥自己的读书笔记需要,因此没有初中高级这样的排列。
  •  访客
     发布于 2021-01-09 23:48:02  回复该评论
  • 勇哥,有没有简单一点的,有点高深,有没有c#群,加我一下,18680202334

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

会员中心
搜索
«   2021年4月   »
1234
567891011
12131415161718
19202122232425
2627282930
网站分类
标签列表
最新留言
    热门文章 | 热评文章 | 随机文章
文章归档
友情链接
  • 订阅本站的 RSS 2.0 新闻聚合
  • 扫描加本站机器视觉QQ群,验证答案为:halcon勇哥的机器视觉
  • 扫描加站长微信:站长微信:abc496103864
  • 扫描加站长QQ:
  • 扫描赞赏本站:

Powered By Z-BlogPHP 1.6.0 Valyria

Copyright Your skcircle.com Rights Reserved.

鄂ICP备18008319号


站长QQ:496103864 微信:abc496103864