小编Ali*_*yan的帖子

什么时候应该使用Readonly和Get only属性

在.NET应用程序中何时应该使用"ReadOnly"属性,何时应该只使用"Get".这两者有什么区别.

private readonly double Fuel= 0;

public double FuelConsumption
{
    get
    {
        return Fuel;
    }
}        
Run Code Online (Sandbox Code Playgroud)

要么

private double Fuel= 0;

public double FuelConsumption
{
     get
     {
          return Fuel;
     }
}
Run Code Online (Sandbox Code Playgroud)

.net c#

93
推荐指数
3
解决办法
9万
查看次数

如何在C中连接两个字节数组?

我在Arduino平台上编码,我正在尝试编写一些能够在C中连接/追加字节数组的东西.

byte a[] = {a1, ..., an};
byte b[] = {b1, ..., bm};

byte c[] = a + b; // equivalent to {a1, ..., an, b1, ..., bm}
Run Code Online (Sandbox Code Playgroud)

获得上述结果的最佳方法是什么?

我尝试在网上搜索,但是我运气不好.我在SO上看到了另一个答案,强调了为了做到这一点所需要的步骤,但我无法遵循它们.他们还说有些图书馆可以处理这类事情,但是当我在Arduino时,我不确定这些是否完全可供我使用.

我知道需要进行某种记忆操作才能实现这一点,但是我对这些低级操作不熟悉,所以对我来说没有太多意义.我有更高级语言的经验(C#,Java和一些C++).


我还要补充一点:同样的技术可以用于:

byte a[] = {a1, ..., an};
byte b[] = {b1, ..., bm};

a = a + b
Run Code Online (Sandbox Code Playgroud)

c arrays arduino concatenation

6
推荐指数
1
解决办法
1万
查看次数

实现接口的通用还是双重?

说我有这个通用类:

abstract class Foo<T> where T : IBar
Run Code Online (Sandbox Code Playgroud)

这在这里很好,但我也希望能够通过double.现在我被告知这是一个坏主意,解决这个问题的唯一方法是编写一个处理双重案例的重复类.我也被告知,玩这种原始类型并不是一个好主意.

我想做的是包装double在一个实现的类中IBar.这将允许我使用包裹的双.我可以看到使用该类的一些问题,我再次被告知,为这些目的包装原始类型是一个坏主意.

  • 什么是解决这个问题的好方法?
  • 是时候重新考虑使用双打吗?
  • 我应该去创建一个单独的复制类来处理双打吗?(在我看来,这听起来好像我没有重复使用).
  • 当必须以通用方式处理基元时,经验法则(如果有的话)是什么?

catagorised的结构是double我们所知道的BigRational结构.这是两个System.Numerics.BigInteger成员之间的商的表示.算术是在这个结构上完全定义的Foo,T应该为double和定义做什么BigRational.

现在恰当的原因是这些是不相关的,因此创建一个界面来联合它们是不好的做法(更不用说首先包装原语).

我对IBar界面的想法是将算术作为一项要求.现在将来,如果我尝试使用Foo其他类/结构来实现IBar它应该没问题.但我也想double工作.所以现在我正在寻找的是一个很好的理由,甚至double首先包装,以及这将如何与良好的实践相吻合.

c# generics primitive wrapper

1
推荐指数
1
解决办法
128
查看次数

为什么不设置 - >设置:设置?

在Coq作为一名数学家,我本来期待的

Set -> Set : Set
Run Code Online (Sandbox Code Playgroud)

但我想这是因为我的数学家帽子已经开启了.我该怎么做才能让它发挥作用?

我是否应该考虑设置不同并使用不同类型的Set?

types coq

1
推荐指数
1
解决办法
83
查看次数

标签 统计

c# ×2

.net ×1

arduino ×1

arrays ×1

c ×1

concatenation ×1

coq ×1

generics ×1

primitive ×1

types ×1

wrapper ×1