.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

.NET Core Ecosystem的更多相关文章

  1. [翻译]为你的服务器选择正确的.NET

    英文原文 By Daniel Roth ASP.NET 5 is based on the .NET Execution Environment (DNX), which supports runni ...

  2. 魅力 .NET:从 Mono、.NET Core 说起

    前段时间,被问了这样一个问题:.NET 应用程序是怎么运行的? 当时大概愣了好久,好像也没说出个所以然,得到的回复是:这是 .NET 程序员最基本的...呵呵! 微软开源,其实不只是对 .NET 本身 ...

  3. [转]Writing Custom Middleware in ASP.NET Core 1.0

    本文转自:https://www.exceptionnotfound.net/writing-custom-middleware-in-asp-net-core-1-0/ One of the new ...

  4. .NET:从 Mono、.NET Core 说起

    魅力 .NET:从 Mono..NET Core 说起 前段时间,被问了这样一个问题:.NET 应用程序是怎么运行的? 当时大概愣了好久,好像也没说出个所以然,得到的回复是:这是 .NET 程序员最基 ...

  5. NoSQL生态系统(nosql ecosystem)

    Unlike most of the other projects in this book, NoSQL is not a tool, but an ecosystem composed of se ...

  6. Introducing .NET Core

    At connect(), we announced that .NET Core will be entirely released as open source software. I also ...

  7. Spring Framework Ecosystem – Introduction to Spring Projects

    来自于:http://springtutorials.com/spring-ecosystem/ Hello and Welcome to Spring Tutorials Blog! Is it f ...

  8. 一篇很好的解释了.Net Core, .Net Framework, .Net standard library, Xamarin 之间关系的文章 (转载)

    Introducing .NET Standard In my last post, I talked about how we want to make porting to .NET Core e ...

  9. 魅力 .NET:从 Mono、.NET Core[转]

    前段时间,被问了这样一个问题:.NET 应用程序是怎么运行的? 当时大概愣了好久,好像也没说出个所以然,得到的回复是:这是 .NET 程序员最基本的...呵呵! 微软开源,其实不只是对 .NET 本身 ...

随机推荐

  1. java创建线程的四种方法

    第一种:  通过继承Thread类创建线程 第二种: 通过实现Runnable接口创建线程 这两种早已烂记于心,这里就不作过多的介绍, 主要介绍其源码 Thread类 implements Runna ...

  2. Educational Codeforces Round 110 A-D 题解

      A. Fair Playoff 题目大意:有4个人进行比赛,第一个和第二个比,第三个和第四个比,之后各自的胜者再比,最开始每个人持有一个数字,每场比赛持有数字较大的选手会胜出,问最开始持有数字最大 ...

  3. 用RecyclerView实现瀑布流

    首先建立一个 PbRecyclerViewActivity.java文件: 1 public class PbRecyclerViewActivity extends AppCompatActivit ...

  4. CSAPP-Lab01 Data Lab 记录

    总览 Problem-int bitXor bitXor - x^y using only ~ and & Example: bitXor(4, 5) = 1 Legal ops: ~ &am ...

  5. [ Skill ] print println printf fprintf sprintf lsprintf

    https://www.cnblogs.com/yeungchie/ 几种 print 函数的差异 print 接收任意的数据类型,并打印到 CIW print( 12345 ) ; 12345 pr ...

  6. 从ELF文件谈起

    本文信息来源: 又是一期硬核内容:ELF文件格式 What's the difference of section and segment in ELF file format ELF Section ...

  7. C盘爆满,你的专属清道夫来啦

    一.C盘目录介绍 ■ 本人电脑信息:联想拯救者Win10 家庭版 1.C盘根目录默认目录情况: Intel:装Intel驱动,解压文件的临时文件,之前百度了解到它是一个有关Intel芯片信息的文件,可 ...

  8. Java:基于AOP的动态数据源切换(附源码)

    1 动态数据源的必要性 我们知道,物理服务机的CPU.内存.存储空间.连接数等资源都是有限的,某个时段大量连接同时执行操作,会导致数据库在处理上遇到性能瓶颈.而在复杂的互联网业务场景下,系统流量日益膨 ...

  9. vue项目部署到阿里云服务器(windows),Nginx代理!

    项目构成: 前端:vue+vant-ui, 数据库:mysql, 后端:node.js 部署方式:nginx代理: 一,首先要拥有自己的服务器,阿里,腾讯都可以,我用的是阿里的: 如果只是做个人项目的 ...

  10. python练习册 每天一个小程序 第0010题

    # -*-coding:utf-8-*- ''' 题目描述: 使用 Python 生成类似于下图中的字母验证码图片 思路: 运用PIL库加random 随机字母进行生成 ''' import rand ...