小编Vis*_*hal的帖子

Typescript - 如何将部分类型分配给另一个对象的相同类型的属性?

我正在编写单元测试用例,我需要对象的非常有限的属性。

现在有一种情况,我将一个 Partial 对象分配给另一个对象的 T 类型属性。但 TS 错误指出我无法将 Partial 分配给 T 类型,我理解应该是这样。

但那我应该如何分配对象呢?

下面是我试图解决的示例。

const a: Partial<A> = {
  a1: "my a1 prop"
};
const b: Partial<B> = {
  b1: "my b1 prop",
  b2: a,
}
// A: {a1: string, a2: string, a3: string}
// B: {b1: string, b2: A, b3: string}
Run Code Online (Sandbox Code Playgroud)

所以,在这里我想将“a”对象分配给“b2”属性,而不创建 整个“a”对象

现在,Partial 使 b2 属性可选,但它并不使所有嵌套属性也可选。

那么,有什么方法可以让我在不先创建整个“a”对象的情况下完成这项任务呢?

javascript typescript typescript-typings

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

C# 字典 - 每次以相同的顺序添加相同的键集是否保证每次都保持相同的顺序(无论顺序是什么)?

按照相同的顺序,我的意思不是添加键的顺序相同!

说,

1) 我有一本字典 d

2) 我添加 2, 4, 6 作为我的键

  • d.Add(2, "")
  • d.Add(4, "")
  • d.Add(6, "")

3) 现在我通过 d.Keys 属性访问它

  • 比如说,它按 4、2、6 的顺序返回键

现在按照相同的顺序,我的意思是,如果我不断重复步骤 2 和 3。

d.Keys 是否总是以相同的顺序返回键 4、2、6。

鉴于每次都以相同的顺序添加相同的一组键(2,4,6)!

基本上是在字典中添加键是一个确定性的过程

我已经运行了一些随机样本,看起来Dictionary.Keys 属性每次都为同一组键返回相同的序列。

但是有保证吗?

我试过的示例代码

public static void Main(string[] args)
        {
            var rand = new Random();
            var fixedKeys = Enumerable.Range(1, 100000).Select(x => rand.Next(10000000)).Distinct().ToList();

            var dic = new Dictionary<int, string>();

            foreach (var item in fixedKeys)
            {
                dic.Add(item, "");
            } …
Run Code Online (Sandbox Code Playgroud)

c#

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

标签 统计

c# ×1

javascript ×1

typescript ×1

typescript-typings ×1