.NET

.NET Blog

Application Models

  • Web
  • Mobile
  • Desktop
  • Microservices
  • Gaming
  • Machine Learning
  • Cloud
  • Internet of Things
Language Version
C#
Visual Basic
F# 4.7
Platform Version Feature
.NET Core 3.0 (runs anywhere!) Windows, Linux, and macOS
.NET Framework 4.8 websites, services, and apps on Windows
Xamarin/Mono a .NET for mobile
.NET Standard The one platform, the shared set of libraries for the above

Library

  • Nuget

Tools

  • Visual Studio Marketplace

Learn More

Training Progress
.NET Core 101 (Youtube) 3/8

Resources



.NET - 3rd Party Resources

.NET Unit Testing Frameworks

  • MsTest
  • xUnit
  • NUnit

MsTest, NUnit, xUnit are test framework, MsTest is what we using right now, but seems xUnit is more clear and lean.

.NET Mock/Fake Frameworks

Code Refactoring

Source Making

  • Design patterns

    • Creational patterns
    • Structural patterns
    • Behavioral patterns
  • AntiPatterns
    • Software Development AntiPatterns
    • Software Architecture AntiPatterns
    • Project Management AntiPatterns
  • Refactoring
    • Code Smells
    • Refactoring techniques
  • UML
    • Introduction
    • Introduction to the Case Study
    • Modeling Business Systems
    • Modeling IT Systems
    • Modeling for System Integration

Refactoring.Guru

  • Refactoring
  • Design Patterns

What's .NET Framework

.NET Framework = Java Runtime (Execution Runtime))

C# = Java (Programming Language)

Check Project Source Codes

  1. Get/download source codes from code repository (from VSTS)
  2. Restore Nuget Packages
    1. Right-click solution name
    2. Click 'Restore Nuget Packages'
  3. Rebuild
    1. Right-click solution name
    2. Click 'Clean Solution'
    3. Right-click solution name
    4. Click 'Rebuild Solution'

.NET Framework Versioning

How to: Determine which .NET Framework version project developed on

  1. Right-click project name
  2. Click 'Properties' (or Press Alt+Enter)

How to: Determine which .NET Framework versions are installed on the Machine

C# Versions

C# Version History

  • C# 6.0 - .NET 4.6, VS 2015
  • C# 7.0 - .NET 4.7, VS 2017
  • C# 8.0 - in preview

Application Types

  • Library

    • Class Library
  • Console
    • Console App
  • Desktop
    • Windows Forms App
    • WPF App (Windows Presentation Foundation) - XAML
  • Web
    • ASP.NET Web Site - Script block in web page source
    • ASP.NET Web Forms - .aspx + .cs
    • ASP.NET Web App - .cshtml (Razor) + .cs
      • ASP.NET MVC - for dynamic web pages
      • ASP.NET Web API - for REST API

Console App

Set Console App Project as StartUp Project

  1. Right-click project name
  2. Click 'Set as StartUp Project'
Program Entry
  • File: Program.cs
  • Method:
static void Main(string[] args)
* args: Console command parameters, e.g. myApp param1, param2, ..., paramN
Exception Handling
try{
// logic
}
catch(Exception ex){
// execute when specific exception/error happends
}
Conditional Statements
Log Level
  • Debug
  • Info
  • Warn
  • Error
  • Fatal

API Error Handling

  • HTTP 200 + Succeed Flag = Logical Correct
  • HTTP 200 + Failed Flag = Logical Incorrect
  • HTTP 404/500 (Web Server/Software Error, Authentication Error) = Application Error
  • HTTP 505 (Network Not Found) = Network Error

HTTP Method

  • HTTP GET (URL only)
  • POST (with HTTP body)
  • HEAD
  • OPTION (query description doc)
  • PUT
  • DELETE

HTTP Request/Response Model

  • Request

    • HTTP URL
    • HTTP Headers (including cookies)
    • HTTP Body
  • Response
    • HTTP Headers (including return code)
    • HTTP Body
JSON (JavaScript Object Notation)
  • Serialize: Object(s) -> JSON text/string
  • Deserialize: JSON text/string -> Object(s)
Generic Type
public static FunctionName<T>
Variable Types
  • Reference Type (Class, ref)

    • Pass itself into function, and will be returned back with value changes in function
  • Value Type (Structure, basic types e.g. numbers)
    • Pass its shadow copy and original variable will not be impact
C# Lambda Expressions

C# Lambda Expressions

Enumerable.Aggregate Method

最新文章

  1. Asp.Net MVC&lt;四&gt;:路由器
  2. Android中的FragmentManager的问题
  3. LoadRunner11.00入门教程
  4. 归纳整理 PHP大神的十大优良习惯
  5. iOS开发之总结
  6. linux配置本地tomcat应用80端口转发
  7. HDU 5898 odd-even number(2016沈阳网络选拔赛 数位DP)
  8. spring整合struts2,hibernate
  9. 【PHP】数据类型转换
  10. P1251 餐巾计划问题
  11. C++之默认参数
  12. 简易promise的实现(二)
  13. Activiti启动某个流程失败,页面报500
  14. Flask web开发之路六
  15. angular4-注入服务
  16. 1、JVM 内存模型+运行时数据区+JVM参数
  17. 总结web应用中常用的各种cache(转)
  18. Linux sudo 错误:XXX is not in the sudoers file 解决办法
  19. 【数组】Find Minimum in Rotated Sorted Array
  20. Java类编译、加载、和执行机制

热门文章

  1. MySQL第三讲
  2. HarmonyOS方舟开发框架容器类API的介绍与使用
  3. LeetCode-081-搜索旋转排序数组 II
  4. 微信小程序发布列表页面处理
  5. PhpStrom 好用的代码小地图插件
  6. tensorflow源码解析之framework-node
  7. 关于vue3的inheritAttrs属性和$attrs的部分用法
  8. Ajax概述,封装以及联合模板引擎进行数据交互
  9. ssm 关于mybatis启动报Result Maps collection already contains value for ...的问题总结
  10. [SPDK/NVMe存储技术分析]015 - 理解内存注册(Memory Registration)