小编Ang*_*ker的帖子

我如何使用变量值进行正则表达式分割?

我有以下字符串:

21>请具体说明.你是什​​么意思?21>你好,那里623>西蒙?

我想把它分成:

21>Please be specific. What do you mean by that?
21>Hello are you there
623>Simon?
Run Code Online (Sandbox Code Playgroud)

基本上,拆分器是数值(在这种情况下为21和623),后跟>.

我的实现是我找到了>char,然后向后走,直到找到非数字值.

所以基本上使用sub-string等.但它很难看,而且我确信有更好的Regex实现,但我对此并不了解.

那么可以在这里使用正则表达式吗?

.net c# regex

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

如何将样式应用于div的外部子项?

我有以下代码:

<div class="citation">
  <span>some text 
        <span id="innerSpan">inner text</span>
        some more text
  </span>
</div>
Run Code Online (Sandbox Code Playgroud)

我试图用citation类来影响div的外跨度,但不是内部跨度:

.citation {
   color:red;
}

.citation span {
   color: yellow
}
Run Code Online (Sandbox Code Playgroud)

我试过了:第一个类型,:nth-​​child,但似乎没什么用.

html css

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

脚本延迟似乎无法按预期工作

我进行以下测试,以查看该defer属性是否推迟脚本块的执行。有2个脚本块。第一个带有defer属性,第二个带有out。如果我正确理解,则该属性会强制浏览器在所有html解析完成后(包括其他script块)。

但是从控制台来看,我始终是“从推迟开始”的。这是为什么?defer在本script地块上不起作用?

<html>
<body>
   ...

  <script type="text/javascript" defer>
    console.log('from deferred');
  </script>

  <script type="text/javascript">
    console.log('from regular');
  </script>

</body>
</html>
Run Code Online (Sandbox Code Playgroud)

javascript

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

为什么在尝试在另一个线程上运行异步方法时收到警告?

我有一个异步方法,它调用另一个异步方法,但是,我希望它在单独的线程上并行运行:

public async Task<Page> ServePage() {
  Task.Run(() => DoThings(10));   // warning here

  // ... other code
  return new Page();
}

public async Task DoThings(int foo) {
  // stuff
}
Run Code Online (Sandbox Code Playgroud)

警告指出:

由于不等待此调用,因此在调用完成之前将继续执行当前方法。考虑将“await”运算符应用于调用结果。

事实上,这就是我正在努力做的事情。为什么我会收到编译器警告?Task.Run 的语法是否不正确?

c# async-await

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

GetHashCode 是否保证在对象的生命周期内相同?

我讨厌打败一匹 。在@eric-lippert 的博客中,他说:

一个对象的哈希值在其整个生命周期内是相同的

然后跟进:

然而,这只是一个理想情况的指导方针

所以,我的问题是这个。

对于 POCO(没有被覆盖)或框架(如FileInfoProcess)对象,方法的返回值是否GetHashCode()保证在其生命周期内相同?

PS 我说的是预先分配的对象。 var foo = new Bar();foo.GetHashCode()始终返回相同的值。

c# .net-core

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

.NET Standard库是否可以访问.NET Core方法?

.NET Core具有以下签名的方法

.Replace(string old, string @new, StringComparison comp)
Run Code Online (Sandbox Code Playgroud)

.NET Standard仅具有此方法

.Replace(string old, string @new)
Run Code Online (Sandbox Code Playgroud)

能够在Web项目中而不是在引用的库项目中使用它的.NET Core版本感觉很奇怪。

我怀疑我的问题的答案是否定的,但想确定。

c# .net-core .net-standard

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

有没有更有效的方法来结束一天的工作?

我有一个 DATETIME 变量@DateEnd = '1/4/2011 16:43:22 PM'。我想得到一天的结束:1/4/2011 23:59:59.997

我有以下内容并且工作正常,但它有很多转换并且似乎效率不高:

DECLARE @DateString VARCHAR(25)
DECLARE @DateEnd DATETIME = '1/4/2011 16:43:22 PM'

SET @DateString = CONVERT(VARCHAR(10), @DateEnd, 101) + ' 23:59:59.997'
SET @DateEnd = CAST(DateString AS DATETIME)
Run Code Online (Sandbox Code Playgroud)

有没有更有效的方法来实现这一目标?

sql sql-server sql-server-2017

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

为什么VB中的AND语句会编译为&amp;运算符?

我正在尝试将 VB.NET 代码转换为 C#。我有以下内容:

If IsDataProperty(p) And (p.Name.StartsWith("ref_") = False) Then
 ...
Run Code Online (Sandbox Code Playgroud)

如果我使用反编译器查看 C# 版本的样子,我会得到以下结果:

if (this.IsDataProperty(p) & !p.Name.StartsWith("ref_")) {
...
Run Code Online (Sandbox Code Playgroud)

VB中的运算符AND编译为&C#运算符。
代码不应该与&&运算符一起使用吗:

 if (this.IsDataProperty(p) && !p.Name.StartsWith("ref_")) {
...
Run Code Online (Sandbox Code Playgroud)

从逻辑上讲,在VB代码中,如果IsDataProperty(p)为假,则整个语句将为假。

.net c# vb.net

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

如何从服务内部退出 Windows 服务?

我有一个 Windows 服务。在启动时,它会检查是否有任何工作分配给它——如果没有,它就会退出。问题是恢复机制设置为重启服务。

在此处输入图片说明

如果服务合法崩溃,这就是我想要的,但如果我自己以编程方式退出服务,则不是。

到目前为止,我在下面尝试的所有操作都导致 Windows 自动重新启动服务:

Thread th;
protected override void OnStart(string[] args)
{
    th = new Thread(new ThreadStart(StartMyService));
    th.Start();
}

private void StartMyService()
{
    if (WorkAvailable()) {
      InitWork();
    } else {
      this.ExitCode = 0;  // no errors
      Stop();
    }
}

protected override void OnStop()
{
    // dispose of things

    try
    {
        if (th != null && th.ThreadState == ThreadState.Running)
            th.Abort();
    }
    catch { }

    Environment.Exit(this.ExitCode);
}
Run Code Online (Sandbox Code Playgroud)

我尝试了不同的 ExitCode 值,但 Windows 总是重新启动服务。我也试过Environment.FailFast同样的结果。我错过了什么?

.net c# windows windows-services windows-server-2012

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

为什么string.Split("")返回元素,即使分隔符不存在?

在下面的:

string input = "123";
char [] separators = " ".ToCharArray();
string [] elements = input.Split(separators);
Run Code Online (Sandbox Code Playgroud)

elements阵列是.长度= 1.

这是为什么?String 123不包含任何空格.

.net c#

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

如何将此Javascript代码段转换为C#

Javascript:

function bounds(a, b, c) {
  null != b && (a = Math.max(a, b));
  null != c && (a = Math.min(a, c));
  return a
}
Run Code Online (Sandbox Code Playgroud)

老实说,我什至不知道这里发生了什么。如果b不为null,则a设置set Math.max(a, b)。如果c不为null,a则从设置Math.min(a, c)

如何将其转换为C#?

PS:这是我的翻译。它是否正确?

private double bounds(double a, double? b, double? c) {
    if (b != null) a = Math.Max(a, b.Value);
    if (c != null) a = Math.Min(a, c.Value);

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

javascript c#

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