小编Tho*_*mas的帖子

C#线程来自通用抽象类的静态字段

我有一个带有线程静态字段的通用抽象类,定义如下:

abstract MyClass<T>
{
    [ThreadStatic]
    private static bool A;
}
Run Code Online (Sandbox Code Playgroud)

一旦我从这个班级派生出来:

MyOtherClass : MyClass<string>
Run Code Online (Sandbox Code Playgroud)

A场怎么了?

  • MyOtherClass是否有自己的线程静态字段?
  • 或者,是否有一组从MyClass派生的所有类的共享线程静态字段?

并且,如果字段是每个派生类,如果我这样做:

MyOtherClass1 : MyClass<string>
MyOtherClass2 : MyClass<bool>
MyOtherClass3 : MyClass<string>
Run Code Online (Sandbox Code Playgroud)

由于MyOtherClass1MyOtherClass3具有相同的类型,是否会共享字段?

c# generics

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

为什么在F#中重新定义了一些通用标准?

我几天前开始使用F#,但我不明白为什么重新定义了一些很长时间以来很普遍的事情?

  • 例如/* my comment */,在几种语言中很常见,几十年来一直如此。真的有理由去(* my comment *)吗?
  • 具有用定义的变量type variablename(例如,int i这也是很常见的),难于解析该类型之前和之后的类型吗?
  • 同样,几乎所有语言都有!=不平等现象;是<>为了避免与其他事物发生冲突或只是“变得与众不同” 而进行了更改?
  • <-与可变项一起使用,但=不可变..其背后的原因是什么?

我敢肯定还有其他几个。

我不是在寻找有关更改是否良好的“意见”,但我很想知道它们背后是否存在某些特定的推理,例如简化解析等,因为我想知道这些变化的好处大于不遵循普遍采用的公约的危害。

f#

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

如何传递凭据以在 Gitlab CI 脚本中提取子模块?

我有几个项目,每个项目都有自己的存储库,它们导入一个公共库,该库也有自己的存储库。因此,该.gitmodules文件包含全名的库:

Submodule 'xx/yy' (https://gitlab.com/xx/yy.git) registered for path 'xx/yy'
Run Code Online (Sandbox Code Playgroud)

但这不起作用:

Fatal: could not read Username for 'https://gitlab.com': No such device or address
Run Code Online (Sandbox Code Playgroud)

CI 脚本非常简单:

image: mcr.microsoft.com/dotnet/core/sdk:3.0.100-preview9-alpine3.9

variables:
  GIT_SUBMODULE_STRATEGY: recursive

stages:
    - build

before_script:
    - "cd xx"
    - "dotnet restore"

build:
    stage: build
    script:
      - "cd xx"
      - "dotnet build"
Run Code Online (Sandbox Code Playgroud)

旧的答案是: GitLab pull submodules inside CI

但事情已经改变,根据文档,我们可以拥有没有相对路径的子模块,如下所示: https: //docs.gitlab.com/ce/ci/git_submodules.html

git-submodules gitlab gitlab-ci

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

Lucene 5.3术语向量

我正在从Lucene 3迁移到Lucene 5.3,我遇到了转换一行代码的问题.

我曾经传递字段Field.Index.ANALYZED,Field.TermVector.YES

现在,使用此代码:

Document.Add(new TextField("Tags", Data.Tags, Field.Store.YES));
Run Code Online (Sandbox Code Playgroud)

我不知道如何传递TermVector字段,以便可以查找标记字.
5.3 doc本质上是一个类列表,对任何事情都没有真正的解释,而Lucene 3在论坛中有很多信息,我还没有找到关于5.3的任何信息

lucene

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

从 WMV 进行更快的 FFMPEG 转换

我正在将大量 WMV 文件转换为 MP4。

命令是:

ffmpeg -loglevel 0 -y -i source.wmv destination.mp4
Run Code Online (Sandbox Code Playgroud)

我大约有 100GB 需要转换。24 小时后仍未完成(xeon、64gb、超快存储)

我错过了什么吗?有更好的转换方法吗?

ffmpeg

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

VS2017 - 将 .cs 文件误认为设计文件

我们看两段代码:

在此输入图像描述

和:

在此输入图像描述

由于某种原因,VS 2017 对它们的看法有所不同:

在此输入图像描述

当我尝试打开第二个文件时:

在此输入图像描述

当然,我可以右键单击该文件并单击“查看代码”,但这种行为很奇怪。

这是故意的,还是一个错误?

visual-studio-2017

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

C#计时器回调

如果我设置这样的计时器:

var MyTimer = new Timer(RunTask, AutoEvent, 1000, 2000);
Run Code Online (Sandbox Code Playgroud)

是否保证RunTask将始终在同一个线程上运行?

我所有的测试似乎都表明情况确实如此,但它是保证还是运气?

这非常重要,因为我需要存储持久调用调用的变量,而我现在正在使用[ThreadStatic]属性.

我知道如果回调持有的线程长于定时器延迟,则定时器将在另一个线程上进行另一次回调; 所以我把问题缩小到没有并行运行的情况(我在回调期间阻止了teh定时器).

.net c# timer

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

asp.net核心 - 应用程序洞察:实时度量标准流

根据azure站点,为了进行实时度量标准流,您需要安装以下软件包:Microsoft.ApplicationInsights.Web

但这不是.net核心包,但它依赖于4.x; 某处有.net核心包吗?

来自Azure的网站: 在此输入图像描述

但列出的包是.Net 4.x,我找不到.net核心版本.

azure-application-insights asp.net-core

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

在 C# 中使用夏令时处理时区

我们有一个与航空相关的应用程序,特别是航班。

时间必须存储在本地,所以我选择使用 UTC 时间 + 一个偏移量,但现在我意识到这是一个糟糕的选择:

通过将时区存储为偏移量,我无法跟踪原始时区,这在处理夏令时会产生影响。

例如,我可以将 Alpine、UT 中的时间存储为 UTC 时间和 -6 偏移量,还可以将 Phoenix、AZ 中的时间存储为 UTC 时间和 -6 偏移量。

但是当夏令时来临时,Alpine 的时间会改变,而 Phoenix 不会。

所以,我需要存储正确的时区,并且我已经看到还有不同的列表具有不同的语法,所以我假设有不同的标准。

在 C# 中,使用本地时区存储本地时间以使其适用于夏令时更改的最佳选择是什么?

.net c# timezone

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

在vim中删除带有引号的单词

如果我有以下文字:

['abc']
Run Code Online (Sandbox Code Playgroud)

和第一个引号上的光标。

  • dw 给了我 [abc']
  • d2w 给了我 [']
  • d3w 给了我 [

那么,我该如何删除'abc'和保留[]

vim

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