.NET大会2021参会笔记

全面拥抱Linux

拥抱linux是微软的战略转型。Satya Nadella写的书《refresh》,就提到了MS loves Linux。所以,大会一开始,以然是Scott Hanselman,给我们演示如果在linux上面使用.net。好了,好了,你不用说了,我们都知道了。

人才市场

会议开始,先讲了.net的现状。嘉宾纷纷表示现在很难招人。这点我倒是有很深的体会。今年9月份一以来,我一直在找工作。10月份,我找的是python开发,几乎没有面试机会。好几个HR,直接回复说年纪大了。我当时都绝望了,都想着改行去当老师了。后来我改成找.net开发,一下子,接到了很多面试邀请。所以11月一直在面试。从微软,苹果,特斯拉,到更多的一些不知名的企业,他们至少都会给面试机会。再也没有碰到HR谈年纪的。如果不是杭州突如其来的疫情,我现在没法去上海面试,我可能已经成为.net程序员了。

基本上,windows桌面开发还是.net的天下。很多程序,都不需要手机版,不需要linux版。用所见即所得的winforms不香么?

.NET 6.0 新特性

.net 6.0最牛逼,也是最实用的的新特性,就是hot reload。过去,我们调试代码的时候,发现一个bug,我们要停下来,改好,然后重新开始调试。有了hot reload,可以一边debug,一边改。改完接着debug。我估计这个可以节省我10%的时间。

这也是为什么,当微软之前决定放弃这个feature的时候,遭到了全世界的抵制。还好微软倾听了社区的声音。我都搞不懂,这么好的feature,为啥要放弃。这可是一个巨大的卖点呀。

GraphQL

嘉宾:桂素伟

GraphQL也是我这段时间找工作,经常遇到的问题。因为不会错过了很多机会。所以我打算好好学学。

GraphQL提供特有的查询语句,返回JSON格式的数据。他用于前后端分离,这样后端不需要那么频繁的改代码了,前端也不需要经常的等着后端改代码了。

GraphQL本身并不是.NET的特有的。前后端可以是任何的语言。

.NET的GraphQL库是Chocolate。

.NET新特性(高级)

嘉宾:李卫涵

下午,李卫涵有详细的给我们详细介绍了.NET 6.0的新特性。内容很多我这里不一一转述。

CallerArgumentExpression

我自己学到了CallerArgumentExpression, 我觉得挺有意思,于是试了试。

using System.Runtime.CompilerServices;

Console.WriteLine("Hello, World!");

static void SetCount(int count, [CallerArgumentExpression("count")] string? countExpression = null)

{

    if (count < 0)

    {

        throw new ArgumentOutOfRangeException(

            paramName: countExpression,

            message: $"{countExpression} ({count}) should not be less than 0"

            );

    }

}

SetCount(4 * 6 - 5 * 5);

输出结果为:

Hello, World!

Unhandled exception. System.ArgumentOutOfRangeException: 4 * 6 - 5 * 5 (-1) should not be less than 0 (Parameter ‘4 * 6 - 5 * 5’)

at Program.Main.g__SetCount|0_0(Int32 count, String countExpression) in C:\Users\eric\source\repos\DotnetConfer\DotnetConfer\Program.cs:line 13

at Program.Main$(String[] args) in C:\Users\eric\source\repos\DotnetConfer\DotnetConfer\Program.cs:line 20

C:\Users\eric\source\repos\DotnetConfer\DotnetConfer\bin\Debug\net6.0\DotnetConfer.exe (process 24868) exited with code -532462766.

Press any key to close this window . . .

这东西太好了,我可以用它来输出更详细的log。把锅及时甩给API的使用者_。

如何设置file-scoped namespace为默认

.NET 6.0出来当天,我就开始用file-scoped namespace了。但是当时不知道怎么才能让他成为默认选项,网上查了半天也不知道怎么搞。这次终于在这次大会上解决了我的疑问。

原来只需要添加一个.editorconfig文件到solution下面。然后添加以下内容。

[*.cs]

csharp_style_namespace_declarations=file_scoped:suggestion

以后,我们再添加新文件,都是file-scoped namespace了。

如下:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace LeetcodeTest;

internal class Class1

{

}

其他

另外,.net也可以做人工智能和CV。有ML.net, OpenCVSharp。也可以用CSharp操作Graph数据库Neo4j等等。

大会网址:

https://trclive.huodongxing.com/?eid=6624063570923&roomid=376854871

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/294002.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

zookeeper配置文件详解

zoo.cfg配置文件 # The number of milliseconds of each tick tickTime2000 # The number of ticks that the initial # synchronization phase can take initLimit10 # The number of ticks that can pass between # sending a request and getting an acknowledgement sync…

html 图片 填充方式,css怎么让图片填满?

在css中&#xff0c;可以将div的高度和宽度属性设置为100%&#xff0c;同时使用background-size属性设置背景图片为100%&#xff0c;便可以实现背景图片铺满屏幕。css怎么让图片填满&#xff1f;1、新建一个HTML文件&#xff0c;使用div标签创建一个模块&#xff0c;并设置其cl…

solrcloud线上创建collection,修改默认配置

一、先看API&#xff0c;创建collection1、上传配置文件到zookeeper1&#xff09; 本地内嵌zookeeper集群&#xff1a;java -classpath ./solr-webapp/webapp/WEB-INF/lib/* org.apache.solr.cloud.ZkCLI -cmd upconfig -zkhost localhost:9983,localhost:8574,localhost:9900 …

Android之判断手机黑屏以及锁屏

1、黑屏 /** * 判断是否黑屏 * param c * return */ public final static boolean isScreenLocked(Context c) { android.app.KeyguardManager mKeyguardManager (KeyguardManager) c.getSystemService(c.KEYGUARD_SERVICE); return !mKeyguardManager.inKeyguardRestricte…

豆瓣评分9.4!这一部纪录片,探秘中国的未至之境!

全世界只有3.14 % 的人关注了爆炸吧知识Bilibili 联合“美国国家地理”&#xff0c;悄悄出品了一部史诗级动物记录片&#xff0c;忍不住要推荐给大朋友小朋友们——《未至之境》。这部纪录片由B站和国家地理联合创作&#xff0c;从绵延万里的山脉高原到枝繁叶茂的雨林竹海&…

html5设置不缓存页面,页面的缓存与不缓存设置

HTML的HTTP和谈头信息中把握着页面在几个处所的缓存信息&#xff0c;包含浏览器端&#xff0c;中心缓存办事器端(如&#xff1a;squid等)&#xff0c;Web办事器端。本文评论辩论头信息 中带缓存把握信息的HTML页面(JSP/Servlet生成好出来的也是HTML页面)在中心缓存办事器中的缓…

Ubuntu 10.10, 11.04, 11.10这三个版本无法从优盘启动

问题&#xff1a;Ubuntu 10.10, 11.04, 11.10这三个版本无法从优盘启动 解决&#xff1a;从U盘启动安装的时候&#xff0c;会卡住不动。搞定办法相当简单&#xff0c;修改syslinux/syslinuxfg文件&#xff1a;将default vesamenu32这句话注释掉即可&#xff0c;即&#xff1a;将…

.NET内存性能分析指南

.NET Memory Performance Analysis知道什么时候该担心&#xff0c;以及在需要担心的时候该怎么做译者注作者信息&#xff1a;Maoni Stephens - 微软架构师&#xff0c;负责.NET Runtime GC设计与实现 博客链接 Github译者&#xff1a;Bing Translator、INCerry 博客链接&#x…

解决php连接mysql数据库中文乱码问题

首先数据库编码和Mysql连接校对编码要一致&#xff1a; 其次在php文件中加入这两句&#xff1a; 2013-3-21更新&#xff1a; Linux下最好都用UTF-8编码&#xff1a; 1、数据库里面选utf-8_general_ci 2、php文件加上header("Content-Type: text/html; charset utf-8"…

使用反射将DataTable的数据转成实体类

利用反射避免了硬编码出现的错误&#xff0c;但是实体类的属性名必须和数据库名字对应&#xff08;相同&#xff09; 1、利用反射把DataTable的数据写到单个实体类 /// <summary>///利用反射把DataTable的数据写到单个实体类/// </summary>/// <typeparam name&…

Andorid之KeyguardManager的介绍

android.app.KeyguardManager类用于对Keyguard进行管理&#xff0c;即对锁屏进行管理。 详细信息参考&#xff1a; http://blog.csdn.net/hudashi/article/details/7073373 下面的代码用来设定键盘锁和解锁 //声明键盘管理器并获取键盘的服务 KeyguardManager keyguardManage…

html表格在页面间距,在CSS中设置单元格和单元格间距?

梦里花落0921基本要控制css中的“单元格填充”&#xff0c;只需使用padding放在桌子上。例如10便士的“细胞填充物”&#xff1a;td { padding: 10px;}对于“单元格间距”&#xff0c;可以应用border-spacing属性设置到表中。例如&#xff0c;10 px的“单元间距”&#xff1a;t…

DAS,NAS,SAN在数据库存储上的应用

一. 硬盘接口类型1. 并行接口还是串行接口(1) 并行接口&#xff0c;指的是并行传输的接口&#xff0c;比如有0~9十个数字&#xff0c;用10条传输线&#xff0c;那么每根线只需要传输一位数字&#xff0c;即可完成。从理论上看&#xff0c;并行传输效率很高&#xff0c;但是由于…

Spring Data Redis—Pub/Sub(附Web项目源码)

一、发布和订阅机制 当一个客户端通过 PUBLISH 命令向订阅者发送信息的时候&#xff0c;我们称这个客户端为发布者(publisher)。 而当一个客户端使用 SUBSCRIBE 或者 PSUBSCRIBE 命令接收信息的时候&#xff0c;我们称这个客户端为订阅者(subscriber)。 为了解耦发布者(publish…

Android之Intent.ACTION_MEDIA_SCANNER_SCAN_FILE:扫描指定文件

1&#xff0e;启动MediaScanner服务&#xff0c;扫描媒体文件&#xff1a; 程序通过发送下面的Intent启动MediaScanner服务扫描指定的文件或目录&#xff1a; Intent.ACTION_MEDIA_SCANNER_SCAN_FILE&#xff1a;扫描指定文件 public void scanFileAsync(Context ctx, String …

libuv 中文编程指南(四)网络

网络 libuv 的网络接口与 BSD 套接字接口存在很大的不同, 某些事情在 libuv 下变得更简单了, 并且所有接口都是都是非阻塞的, 但是原则上还是一致的. 另外 libuv 也提供了一些工具类的函数抽象了一些让人生厌的, 重复而底层的任务,比如使用 BSD 套接字结构来建立套接字, DNS 查…

突破历史,21年C#将首获年度编程语言奖!

2021年渐入尾声&#xff0c;TIOBE今日发布了12月排行榜&#xff0c;Java(第3)持续下滑&#xff0c;PHP(第12)跌出前十&#xff0c;而C#(第5)继续稳步增长。据悉&#xff0c;TIOBE的CEO Paul Jansen表示&#xff0c;C#极有可能获取“TIOBE 年度编程语言奖”。该奖项一般颁发给被…

史上最接近上帝的方程!神秘的数字4.669,目前没有人能解开这个谜语......

全世界只有3.14 % 的人关注了爆炸吧知识上帝指纹统治世界&#xff1f;春节进入倒计时&#xff0c;实不相瞒&#xff0c;超模君想鸽的心蠢蠢欲动&#xff0c;费了好大劲才摁住&#xff01;为了不鸽&#xff0c;连夜翻了个墙&#xff0c;明明刚开始还在认认真真看论文&#xff0c…

html仿苹果浏览器,完美仿iPhone风格主题 领航浏览器体验

1仿iPhone的图标式导航页手机浏览器这个市场因其使用情况极为广泛和频繁因此吸引了无数厂商进入&#xff0c;不仅是传统的浏览器厂商也有许多新晋的手机软件厂商&#xff0c;其产品也从强调省流量、云概念、操作体验和自主核心、HTML 5等功能不一而足&#xff0c;今天带来的体验…