在代码中使用度量单位,从而生活更美好

在我们的应用软件中,涉及到物理化学计算时,只有 Frink 、F#、Modelica 少数语言变量是自带单位的,大部分语言变量仅包含数值,单位转换需要在变量进行公式计算之前完成,计算后再把结果单位转换为输出单位,单位转换主要通过若干常数实现。这带来了两个问题:

  1. 大量常数降低代码可读性和维护性;

  2. 计算精度难以保障。

UnitsNet 用具有单位的变量替代double,支持单位的自动转换,并(部分)支持不同单位的乘除计算。使用UnitsNet 写公式计算代码,可以避免直接的单位转换,使程序的调用者可以使用任意单位作为输入。在.NET IoT 将 UnitsNet 用于任何传感器在绑定中公开的任何单元。在文档里有明确的设备 API 的约定:https://github.com/dotnet/iot/blob/main/Documentation/Devices-conventions.md

14e37c49277856984dab3c5a48c767fd.png

相关参考文章:

  1. 理化计算程序必备:CoolProp+UnitsNet:https://blog.csdn.net/xhydongda/article/details/120663619

  2. 深入研究 .NET NANOFRAMEWORK 的一年:https://www.nanoframework.net/laurent-ellerbach-a-year-deeply-in-net-nanoframework/

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

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

相关文章

C#(Sharp)进阶篇:文件操作

文章目录 8.1 文件系统概述8.2 驱动器、目录和文件8.2.1 与IO操作相关的枚举8.2.2 驱动器8.2.3 目录8.2.4 文件8.3 文件流和数据流8.3.1 抽象类Stream8.3.2 文件流FileStream8.3.3 流的文本读写器8.3.4 流的二进制读写器8.3.5 常用的其他流对象8.4 应用实例8.1 文件系统概述

shell中字符串操作【转】

转自:http://blog.chinaunix.net/uid-29091195-id-3974751.html 我们所遇到的编程语言中(汇编除外)都少不了字符串处理函数吧, 当然shell编程也不例外咯,那么下面我们一起来看下shell中字符串 处理的相关操作吧。大概下面的字符串操作可以分为…

如何提高上传带宽

参考文章:http://jingyan.baidu.com/article/db55b609af631b4ba30a2f23.html 1、已管理员身份运行:netsh interface tcp set global autotuningdisabled 2、 打开注册表 找到HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\A FD\Parameters 3、创建新…

[转]神经网络框架

Pytorch上手使用 近期学习了另一个深度学习框架库Pytorch,对学习进行一些总结,方便自己回顾。 Pytorch是torch的python版本,是由Facebook开源的神经网络框架。与Tensorflow的静态计算图不同,pytorch的计算图是动态的,可…

Eclipse启动时布局不合理调整

1. 关掉 启动页 2. 关掉InstSearch页 3.修正InSearch布局 3.1 默认InstSearch不合理,影响使用。 3.2 Inst 搜索一次,然后最小化InstSearch框,再从右侧点击,即可。转载于:https://www.cnblogs.com/jhj117/p/6121298.html

10分钟实现dotnet程序在linux下的持续部署

背景 一直以来,程序署都是非常麻烦且无聊的事情,在公司一般都会有 devops 方案,整个 cicd 过程涉及的工具还是挺多的,搭建起来比较麻烦。那么对于一些自己的小型项目,又不想搭建一套这样的环境,怎么办呢。。…

C语言试题131之将一个数组逆序输出。

📃个人主页:个人主页 🔥系列专栏:C语言试题200例 💬推荐一款模拟面试、刷题神器👉 点击跳转进入网站 ✅作者简介:大家好,我是码莎拉蒂,CSDN博客专家(全站排名Top 50),阿里云博客专家、51CTO博客专家、华为云享专家 1、题目 题目:将一个数组逆序输出。 分析:…

【错误异常大全】:无法加载 DLL“ArcGISVersion.dll”: 找不到指定的模块。 (异常来自 HRESULT:0x8007007E)。

文章目录 错误异常解决方案错误异常 无法加载 DLL“ArcGISVersion.dll”: 找不到指定的模块。 (异常来自 HRESULT:0x8007007E)。 解决方案 将目标平台改为x86,具体步骤如下: 点击【配置管理器】。 下拉活动解决方案平台,点击【新建】。 选择x86,点击【确定】。

Go语言之反射

和Java语言一样,Go也实现运行时反射,这为我们提供一种可以在运行时操作任意类型对象的能力。比如我们可以查看一个接口变量的具体类型,看看一个结构体有多少字段,如何修改某个字段的值等。TypeOf和ValueOf在Go的反射定义中&#x…

博客即简历

本文转载自:http://www.cnblogs.com/stoneniqiu/p/5271248.html。 我个人也是在一直坚持写博客,每月至少一篇,并慢慢地将其变成了自己的习惯。一些想法与本文不谋而合,所以决定转载此文。 --------------------------------------…

C语言试题132之取一个整数 a 从右端开始的 4~7 位。

📃个人主页:个人主页 🔥系列专栏:C语言试题200例 💬推荐一款模拟面试、刷题神器👉 点击跳转进入网站 ✅作者简介:大家好,我是码莎拉蒂,CSDN博客专家(全站排名Top 50),阿里云博客专家、51CTO博客专家、华为云享专家 1、题目 题目:取一个整数 a 从右端开始的 …

【错误异常大全】:ArcGIS version not specified. You must call RuntimeManager.Bind before creating any ArcGIS

文章目录 问题描述解决方法问题描述 ArcGIS version not specified. You must call RuntimeManager.Bind before creating any ArcGIS components. 解决方法 打开program.cs,把ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.EngineOrDesktop); 放到Application…

统一建模语言 UML

目录 统一建模语言 UMLUML定义了5类10种模型图一用例图用于建立需求模型二静态图主要描述系统的静态表示和关系包括类图包图对象图三行为图描述系统动态模型和对象组成的交换关系包括状态图和活动图四交互图用于描述对象间的交互关系由一组对象和它们之间的关系组成包含它们之间…

[转]npm生成的package.json文件中依赖项版本号前的波浪号(~)和插入符号(^)是啥意思?

package.json一般也就长这么模样: {"name": "","description": "","version": "4.17.1","author": "","contributors": [],"license": "MIT",&quo…

使用 C# 提取 PDF 文件中的所有文字(支持 .NET Core)

PDF 是 Portable Document Format 的简称,意为“可携带文档格式”,是由 Adobe Systems 用于与应用程序、操作系统、硬件无关的方式进行文件交换所发展出的文件格式。PDF 文件以 PostScript 语言图象模型为基础,无论在哪种打印机上都可保证精确…

【错误异常大全】:正尝试在 OS 加载程序锁内执行托管代码。不要尝试在 DllMain 或映像初始化函数内运行托管代码,这样做会导致应用程序挂起。

文章目录 错误异常:解决方案一:解决方案二:错误异常: 正尝试在 OS 加载程序锁内执行托管代码。不要尝试在 DllMain 或映像初始化函数内运行托管代码,这样做会导致应用程序挂起。 解决方案一: 1、把VS菜单的 调试->异常->Managed Debuggin Assistants->LoaderLo…

Linux——JDK的部署

1.检查一下系统中的jdk版本[java] view plaincopy $>java -version java version "1.7.0_"OpenJDK Runtime Environment (IcedTea6 1.11.1) (rhel-1.45.1.11.1.el6-x86_64)OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)2.检测JDK安装包[java] view pla…

python字符串格式化方法 format函数的使用

python从2.6开始支持format,新的更加容易读懂的字符串格式化方法,从原来的% 模式变成新的可读性更强的花括号声明{}、用于渲染前的参数引用声明, 花括号里可以用数字代表引用参数的序号, 或者 变量名直接引用。从format参数引入的…

C语言试题133之画圆形

📃个人主页:个人主页 🔥系列专栏:C语言试题200例 💬推荐一款模拟面试、刷题神器👉 点击跳转进入网站 ✅作者简介:大家好,我是码莎拉蒂,CSDN博客专家(全站排名Top 50),阿里云博客专家、51CTO博客专家、华为云享专家 1、题目 题目:画圆形 2 、温馨提示 想获取…

ReactDom.render和React.render的区别

这个是react最新版api,也就是0.14版本做出的改变。主要是为了使React能在更多的不同环境下更快、更容易构建。于是把react分成了react和react-dom两个部分。这样就为web版的react和移动端的React Native共享组件铺平了道路。也就是说我们可以跨平台使用相同的react组…