小编isx*_*ker的帖子

如何计算JavaScript中字符串的长度(以像素为单位)?

如何计算JavaScript中字符串的长度(以像素为单位)?

javascript

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

第二次检查约束意味着什么?

我有以下代码

--first statement
ALTER TABLE [nameOfMyTable]  WITH CHECK ADD  CONSTRAINT [nameOfMyConstraint] FOREIGN KEY([myFK])
REFERENCES [tableReference] ([myFK])
GO
--second statement
ALTER TABLE [nameOfMyTable] CHECK CONSTRAINT [nameOfMyConstraint]
GO
Run Code Online (Sandbox Code Playgroud)

首先,我在表上定义一个CHECK约束.什么意味着第二个陈述?

sql

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

为什么c#编译器会生成编译错误?

我有以下代码

using(some code)
{
var b = .... 
}
var b = ...
Run Code Online (Sandbox Code Playgroud)

Erorr: 名为'b'的局部变量不能在此范围内声明,因为它会给'b'赋予不同的含义,'b'已在'child'范围内用于表示其他内容

好的,编辑

using(some code)
{
var b = .... 
}
b = ...
Run Code Online (Sandbox Code Playgroud)

Error: 当前上下文中不存在名称"b"

.net c# compiler-construction clr

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

我的win服务实例需要一个contributon函数

我有一个表Guid作为主键.该表已包含很多行.此外,我有一个win service,每行执行一些操作(可能需要从另一个数据库读取和写入数据).因此,处理一行需要花费大量时间.(平均约100秒)

我的胜利服务是这样的:

public class MyDto
{
     public Guid Id { get; set; }
}

while (true){
     if(time to start){
          List<MyDto> rows = LoadData();
          foreach(MyDto obj in rows){
               Process(obj);//it takes in average about 100 sec
          }
     }
}
Run Code Online (Sandbox Code Playgroud)

我需要减少所有行的执行时间.由于某种原因,我决定增加我的胜利服务的失误.所以我需要每个win服务都会获得自己的行集.

我参与了我的LoadData()乐趣:

public List<MyDto> LoadData(int winServInstanceNumber){

}
Run Code Online (Sandbox Code Playgroud)

所以我需要一个贡献函数取决于总win服务实例计数和concreate win服务实例号.

你能提供更好的东西吗?

//on .net side
obj.Id.GetHashCode()%totalWinServiceInstancesCount
Run Code Online (Sandbox Code Playgroud)

要么

--on sql side
HASHBYTES('MD5', CAST(id as varbinary(16)))%totalWinServiceInstancesCount
Run Code Online (Sandbox Code Playgroud)

.net c# sql function

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

按长度对命名空间进行排序

有人知道使用 resharper 按长度对 usings 指令进行排序的可能性吗?

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
Run Code Online (Sandbox Code Playgroud)

using System;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Collections.Generic;
Run Code Online (Sandbox Code Playgroud)

c# resharper visual-studio

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

如何使用roslyn获取运行时类型的泛型类?

例如我有以下类型:

public class MyClass<T>
{
    public T Prop { get; }
}
Run Code Online (Sandbox Code Playgroud)

或者说我有以下方法:

private static void Method<T>() 
{
     //how I can get a real type of <T>
}
Run Code Online (Sandbox Code Playgroud)

如何使用 获得泛型类的运行时类型roslyn?我的意思是真实类型<T>

static void Main(string[] args)
{
    // here I need to get int
    var m = new MyClass<int>();

    // here I need to get object
    var m1 = new MyClass<object>();
}
Run Code Online (Sandbox Code Playgroud)

.net c# roslyn roslyn-code-analysis

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

如何在正则表达式中指定可选字符?

我有这个正则表达式.

MMM D[,] YYYY   
/^(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\ (\d{2})\, (\d{4})$/
Run Code Online (Sandbox Code Playgroud)

我怎么做[,]是可选的?

MMM D, YYYY
MMM D YYYY
Run Code Online (Sandbox Code Playgroud)

regex

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

正则表达式将所有密码替换为 ***

我有以下 json:

Data: {"Account":"d\\adm","Password":"cWExZjEiMTM="},"SqlServer":{"InstanceName":"","MachineName":"MyMachine","Port":null}
Run Code Online (Sandbox Code Playgroud)

我想使用 RegExp 将密码值替换为 ***。

cWExZjEiMTM= => ***
Run Code Online (Sandbox Code Playgroud)

在我的示例中,我期望以下输出:

Data: {"Account":"d\\adm","Password":"***"},"SqlServer":{"InstanceName":"","MachineName":"MyMachine","Port":null
Run Code Online (Sandbox Code Playgroud)

我只有以下解决方案:

string invokeSpec = "\":{\"Account\":\"d\\\\adm\",\"password\":\"cWExZjEiMTM=\"},\"SqlServer\":{\"InstanceName\":\"\",\"MachineName\":\"MyMachine\",\"Port\":null}";
var pattern = "\\\"Password\\\":\\\"(?<pass>[^\\\"]*)\\\"";
var replaced = Regex.Replace(invokeSpec, pattern, "\"Password\":\"***\"", RegexOptions.IgnoreCase); 

":{"Account":"d\\adm","Password":"***"},"SqlServer":{"InstanceName":"","MachineName":"MyMachine","Port":null}
Run Code Online (Sandbox Code Playgroud)

c# regex replace

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

组合框中基类的DisplayMember属性

我使用Windows窗体.我希望DisplayMember与基类相同?我有课

public class MyViewModel
{
    public int Id { get; set; }
    public Type Type { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我想,我的comboBox显示Type.Name.

List<MyViewModel> list = new List<MyViewModel>();
list.Add(new MyViewModel(){ Id = 1, Type.GetType(int)});
list.Add(new MyViewModel(){ Id = 2, Type.GetType(string)});
//how i must to config displayMember???
myComboBox.DisplayMember = "Type.Name";
myComboBox.ValueMember = "Id";
myComboBox.DataSoutce = list;
Run Code Online (Sandbox Code Playgroud)

但是我无法在comboBox中显示Type.Name.你能帮助我吗?

.net c# combobox

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

如何将processid添加到log4net布局?

我将log4net在我的wpf申请中使用.我需要在我的日志中的消息如下所示:

11/8/2018 10:49:38 AM   13 (5368)       properties disabled.
Run Code Online (Sandbox Code Playgroud)

其中13processId其中写入该消息.所以这很容易.但不幸的是我无法做到这一点.所以我只需要一个适合我的log4net记录器的模式布局.

我在官方网站的faq部分找到了以下消息log4net:

以下示例FileAppender通过%processid在File属性中指定模式来设置a的文件名以包括当前进程ID .

<appender name="LogFileAppender" type="log4net.Appender.FileAppender">
    <file type="log4net.Util.PatternString" value="log-file-[%processid].txt" />
    <layout type="log4net.Layout.PatternLayout" value="%date [%thread] %-5level %logger - %message%newline" />
</appender>
Run Code Online (Sandbox Code Playgroud)

所以,它的工作原理,但仅适用于我的日志文件中的文件名而不是布局.我需要把它%processid放到我的布局中.我目前的布局是:

<layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%date{dd/MM/yyyy HH:mm:ss,fff tt} %processid (%thread) - %message%newline" />
</layout>
Run Code Online (Sandbox Code Playgroud)

我的日志只是将processid字符串写入我的日志文件.

22/11/2018 16:21:51,863 PM processid (1) - Exiting application.
Run Code Online (Sandbox Code Playgroud)

我也找到答案.它有效.但是%processid在启动期间,属性仅初始化一次.在我的应用程序中,编写程序通常会发生变化 …

.net c# logging log4net log4net-configuration

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