小编pin*_*x33的帖子

将键值对添加到数组中的所有对象

我想为数组中的所有对象添加一个键:value参数.

例如:

var arrOfObj = [{name: 'eve'},{name:'john'},{name:'jane'}];
Run Code Online (Sandbox Code Playgroud)

现在我想为所有对象添加一个新参数isActive,以便生成的数组看起来像.

例如:

    [{
    name: 'eve',
    isActive: true
}, {
    name: 'john',
    isActive: true
}, {
    name: 'jane',
    isActive: true
}]
Run Code Online (Sandbox Code Playgroud)

我总是可以遍历数组并插入一个键值对.但是想知道是否有更好的方法

javascript arrays

33
推荐指数
3
解决办法
5万
查看次数

内心阶级的目的?

我正在阅读一些帖子并注意到内部课程的样本.我最近看到了很多,特别是在我浏览的MSDN上的几个例子中.我以前从来没有使用内部类(但也许我真的应该这样)所以我想知道究竟是什么意思?我假设一个内部类(至少是一个私有的)只能用于主类本身,所以将内部类的任何功能简单地合并到外部类的某些方法中就不一样了吗?内部阶级背后有一个OO理由吗?

我主要考虑的是C#,但我认为这适用于任何支持内部类的OO语言.

msdn为例:CharacterCollection和WordCollection是Document类中的公共类.如果这些不在Document类之外会有什么区别?

oop inner-classes

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

是否可以将文件夹从一组TFS分支移动到另一组TFS分支并保留挂起的更改?

目前,我们的TFS(TFVC,而不是 git)项目包含一个托管我们整个产品的文件夹.该文件夹包含三个分支(Dev,Main和Release),每个分支又包含许多不同的子项目.我们正在尝试重组,以便不同的组件包含在它们自己的分支结构中.

问题:是否可以将分支(不是分支本身)下包含的文件夹及其他分支中的相应文件夹移动到新的 TFS项目中,同时保持任何未合并的变更集的关系和状态?

这是我们期望的最终结果的图表:

目标结构

我们希望将每个"Project 1" 文件夹(左侧)移动到它们自己的分支结构(右侧),但我们需要任何未合并的更改集来"出现".也就是说,如果我们尝试在新结构中从Dev合并到Main,我们将看到一个未在旧结构中合并的(相关)变更集的列表.

这可能吗?如果是这样,我们需要用什么系列的tf/ tfvc命令来解决这个问题呢?我已经深入谷歌了,但是做得很短 - 或者因为我不知道如何用搜索友好的方式描述这个,或者它根本不可能.

我尝试过的:

  • 直接将每个文件夹移动/重命名为新项目(预创建每个目标开发/主要/发布分支​​)

    • 未合并的变更集丢失了.
    • 我得到的只是一个"移动/重命名"变更集,它出现在新分支的未合并列表中.合并导致在目标分支都被覆盖(即发布分支的文件和现在相同的开发).
    • 在+侧,挂起的搁置集"自动跟随"时未取消搁置
  • 分支每个文件夹,进入新结构(此时无需预先创建目标分支文件夹)

    • 这创建了三个彼此无关的分支.
    • 我能够通过在它们之间进行无根合并(tf merge /baseless /recursive)和冲突时获取目标分支文件来解决这个问题.然后重新教育分支机构.(至于解释这里)
    • 与上述不同,文件本身最终正确(没有被覆盖).
    • 未合并的变更集丢失了.
    • Shelvesets不受原始位置的影响

如果这很重要,我们愿意失去整体历史,如果这是解决这个问题的唯一方法.我们最好保留它,即使它意味着在某处存储原文的"已弃用"副本.我不太关心搁置"跟随"他们的来源......我们只有两个会受到影响,如果需要我们可以手动处理.我们正在使用本地TFS 2018.

编辑:响应已发布然后删除的答案:

我不打算移动分支,而是将其内部的文件夹提取到它们自己的相应分支结构中,而不会丢失挂起的更改.我只展示了两个级别,但实际上它们更深入.我能够tf rename在沙盒中的整个分支并获得预期的结果......但重命名分支不是我想要做的,并且移动文件夹会产生意想不到的结果.

tfs tfvc tfs2018

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

实体框架Core 2.0将枚举枚举到SQL Server中的tinyint会在查询时抛出异常

当我尝试将一个映射enumsmallintin 时,我得到以下异常OnModelCreating:

InvalidCastException:无法将类型为"System.Byte"的对象强制转换为"System.Int32".

我想这样做是因为在SQL Server中a int是4个字节而a tinyint是1个字节.

相关代码:实体:

namespace SOMapping.Data
{
    public class Tag
    {
        public int Id { get; set; }

        public TagType TagType { get; set; }
    }

    public enum TagType
    {
        Foo,
        Bar
    }
}
Run Code Online (Sandbox Code Playgroud)

的DbContext:

using Microsoft.AspNetCore.Identity.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore;

namespace SOMapping.Data
{
    public class ApplicationDbContext : IdentityDbContext
    {
        public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
            : base(options)
        {
        }

        public DbSet<Tag> Tags { get; set; }

        protected override void OnModelCreating(ModelBuilder builder)
        { …
Run Code Online (Sandbox Code Playgroud)

c# entity-framework-core

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

字符串串联()

遗憾的是,我们通过使用JavaScript构建HTML字符串并使用document.write输出数据来进行大量动态网页设计.我偶然发现了一些我的同事编写的代码,如下所示:

var myString = String() + "this is my string" +
            "and I am doing a lot of string concatenation" +
            "doing this the worst way possible"
Run Code Online (Sandbox Code Playgroud)

这些行继续,有时数百行硬编码HTML(带内联样式和缺少结束标记).我很好奇的部分是String().我以前从未见过这种用法,而且我已经写了很长时间的JavaScript了.我问我的同事是什么,他说"它提高了字符串连接的性能,在调试过程中逐步完成,你不会踩到每一行,而是直接到最后".

现在我经常把这些东西带上一粒盐,但它让我好奇......所以我测试了它.至少Chrome无论开放String()与否,都会一直走到下一个声明.所以我知道这一点至少是不真实的.

那么A. 是什么?它不是一个真正的构造函数(就像它一样),当我输入String()控制台时,我得到了空字符串"".并且B.他的陈述是否有任何事实可以提高绩效?如果是这样,为什么?

javascript

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

显式接口属性发出 CA1033

我有一个接口,在我们的项目中通常是显式实现的(不是我的规则),并且我们不想使该类密封。

public interface IHostable
{
    IHost Host { get; set; }
}

IHost IHostable.Host
{
    get { return _host; }
    set { _host = value; }
}
private IHost _host;
Run Code Online (Sandbox Code Playgroud)

这个警告 CA1033 建议实现一个可由派生类型访问的受保护方法,这样我们就不会失去对该值的访问。该变量一开始就是私有的这一事实是一个疏忽,所以我很高兴分析器发出了这个警告......因此考虑到这一点,我将其重新实现为:

    IHost IHostable.Host
    {
        get { return Host; }
        set { Host = value; }
    }

    private IHost _host;

    protected IHost Host
    {
        get { return _host; }
        set { _host = value; }
    }
Run Code Online (Sandbox Code Playgroud)

但是,运行代码分析仍然会发出相同的警告 CA1033。从查看文档以及我可以通过谷歌找到的内容(数量不多)来看,这应该解决警告。

这还有什么问题吗?

c#

5
推荐指数
0
解决办法
317
查看次数

不同时期的SQL sum()?

我正在处理存储过程.我有一个名为#CashFlow的表,其中包含一段时间的数据.

FundID   TradeDate Amount 
 1       1/1/2004  123.00 
 1       6/30/2006 100.00 
 2       1/1/2004  100.00 
 2       3/15/2010 150.00
 3       1/1/2010  100.00
Run Code Online (Sandbox Code Playgroud)

我还有一个名为#Funds的表,其中包含我感兴趣的基金ID列表.(有一堆处理我不会厌烦你为我生成这个基金列表)例如,我只想说我的#Funds表中只有ID的1和2(不包括3).

我有三个时间段(所有结束时间为'8/31/2010'),从1/1/2004,2006年1月1日和2010年1月1日开始,我想汇总这三个时期的总和.

我尝试过这样的事情:

select sum(c1.amount), sum(c2.amount), sum(c3.amount)
from 
    #fundtable f
inner join
    #cashflow c1 on f.fundid = c1.fundid and c1.tradedate between '1/1/2004' and '8/31/2010'
inner join
    #cashflow c2 on f.fundid = c2.fundid and c2.tradedate between '1/1/2006' and '8/31/2010'
inner join 
    #cashflow c3 on f.fundid = c3.fundid and c3.tradedate between '1/1/2010' and '8/31/2010'
Run Code Online (Sandbox Code Playgroud)

但它没有做我想要的事情(实际上我无法弄清楚它到底在做什么).如果我只选择一个句点,我会得到正确的值,但是第二个我添加了一个联接,我的数字全部被打破了.

这就像我想要替换的原始查询:

select 
   (select sum(Amount) from #Cashflow c inner …
Run Code Online (Sandbox Code Playgroud)

sql aggregate sql-server-2000

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

如何等待Task.Run完成

我有一个程序可以处理这样的事情

var t=Task.Run(()=>process());
while(!t.IsCompleted())
 Task.Delay(1000);
Console.WriteLine(t.Result);
Run Code Online (Sandbox Code Playgroud)

有没有其他方法可以让程序等待任务完成?

.net c# task .net-4.7

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

C#中的ArrayPool创建方法

我在 C# 中使用 ArrayPool。我想创建自己的池,最大数组数量为 5,最大数组大小为 1050000。我使用了这个 ArrayPool.Create() 方法。我无法理解一件事 - 我试图在下面的代码片段中从池中租用 10 次,尽管我指定最大数组为 5,那么为什么它没有显示任何错误。另外,我指定最大长度为 1050000。那么我如何能够租用 4200000 的阵列而不出现任何错误?

        byte[] buffer;
        ArrayPool<byte> pool = ArrayPool<byte>.Create(1050000, 5);

        for (int i = 0; i < 10; i++)
        {
            buffer = pool.Rent(4200000);
        }
Run Code Online (Sandbox Code Playgroud)

c# buffer compiler-optimization

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

为什么 HttpContext.Session 状态更改为已处置?

我正在尝试存储从会话中的外部 api 获取的令牌。

与此相关的代码片段;

        [HttpPost]
        public async void Post()
        {
            if (HttpContext.Session.GetValue<User>("Token") == null)
            {
                HttpContext.Session.SetValue("Token", "test");
                var res = await _loginBusiness.GetToken();
                HttpContext.Session.SetValue("Token", res);
            }
        }
Run Code Online (Sandbox Code Playgroud)

HttpContext.Session.SetValue("令牌", "测试");

在此部分中,它不会发生任何错误,但第二个相同的代码行在 GetToken() 之后给出错误。

相关错误

System.ObjectDisposeException:'IFeatureCollection 已被释放。对象名称:“集合”。

还有 GetToken():

        public async Task<User> GetToken()
        {
            String url = "login/login";

            var client = httpClientFactory.CreateClient("VoiceScope");

            var postRes = await client.PostAsync<User>(new UserLogin(), url);

            return postRes;
        }
Run Code Online (Sandbox Code Playgroud)

c# asp.net-core-3.1

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

存储PDF和图像:nvarchar(max)与varbinary(max)

我们正在设计一个数据库,需要在表格中存储各种版本的文件(pdf/image /缩小图像).由于某种原因选择使用Filestream的权力,所以这不是辩论.

我似乎无法在网上找到任何指示用于存储pdf和图像数据的适当数据类型的内容.那个或者我在寻找它时只是一个完全白痴.

我不打算开始辩论,所以我不是在寻找自以为是的回答.但是我试图找出一个或另一个是否真的是为我想做的事而设计的.如果其中任何一个都有用,那就是我需要知道的.

sql-server-2012

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