小编Mos*_*aou的帖子

如何将元素添加到List <T>并获取索引?

是否有一个函数可以让你添加一个元素List<T>并获取索引作为int后面?List<T>.Add()是一个void并且不返回值.

List.Count-1当你不使用线程时,这是一个解决方案.我的列表是一个静态成员,可以一次使用多个线程访问,使用count-1值完全线程不安全,很容易导致错误的结果.

该指数将用于对每种元素的特定处理.

谢谢!

c#

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

并行查询工作线程涉及死锁

我运行一个SQL Server跟踪来跟踪一些死锁问题,我发现这个评论Parallel query worker thread was involved in a deadlock是导致死锁的原因.

在此输入图像描述

Q1:这是否意味着同一个查询会使自己陷入僵局?查询执行计划显示了一些并行情况.

Q2:有什么方法可以"强制"SQL Server不使用并行性,或者至少避免尽可能多地使用它?

sql sql-server parallel-processing deadlock

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

如何使用OrmLite获得固定大小而不是null varchar?

String在Poco类中声明属性时,OrmLite将varchar(8000) NULL在数据库中为其生成一列.例如,我有以下类和生成的表:

在此输入图像描述

在此输入图像描述

我想知道如何指定该字段的长度.对于FirstName而言,拥有8000个字符是没有意义的,例如,我该如何强迫NOT NULL?在UserNamePassword列应该始终有值.

c# sql varchar notnull ormlite-servicestack

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

如何在.NET Core中从流加载程序集

我在.NET Core控制台应用程序上遇到Roslyn.我试图创建一个程序集并将其编译为内存流.但加载它似乎缺少一个API(通常适用于常规的.NET Framework)

var compilation = CSharpCompilation.Create("MyCompilation",
         syntaxTrees: new[] { pocoTree }, references: new[] { mscorlib, currentAssembly });

var ms = new MemoryStream();
var emitResult = compilation.Emit(ms);

var ourAssembly = Assembly.Load(ms.ToArray()); // Fails to compile here
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

无法从'byte []'转换为'System.Reflection.AssemblyName'

.NET Core中从steam加载的替代方法是什么?(除了物理保存组件并加载它)

.net c# .net-core

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

如何验证字符串是否是正则表达式?

我的应用程序包括使用CodeDOM在运行时创建POCO类.我正在寻找一种方法,允许我的最终用户指定他创建的某些属性的值的限制(例如,如果他添加了一个属性电子邮件,而不是他可能想要将内容验证到电子邮件地址.很明显,最终用户可能有更多自定义限制).

我的目的是提供一个PropertyValidation字段,最终用户可以在该字段中提供正则表达式,该表达式用作该属性的已创建实例的内容的验证器.

有什么方法可以确保PropertyValidation字段中提供的字符串Regex在允许之前是实际的吗?

.net c# regex

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

如何在发布模式下自动删除HTML注释?

我试图找到一种方法来自动删除发布模式中的HTML注释有两个主要原因

  • 缩小:某些页面中有很多评论
  • 注释包含开发通知和TODO列表(向最终用户公开).

我正在使用ASP.NET MVC并寻找与捆绑和缩小功能相同的精神.

html asp.net asp.net-mvc comments bundling-and-minification

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

SQL Server 2012临时表OBJECT_ID问题

我们在升级到SQL Server 2012时遇到问题.我使用以下脚本创建过去在SQL Server 2008 R2上运行良好的临时表,但现在它在2012年生成错误:

if (OBJECT_ID( 'tempdb..#idstable') > 0)
    truncate table #idstable
else
    create table #idstable (id int not null)
Run Code Online (Sandbox Code Playgroud)

抛出的错误是

数据库中已经有一个名为"#idstable"的对象.

这显然不是我第一次使用脚本时抛出的(在同一个事务中).

任何的想法?谢谢!

sql sql-server temp-tables sql-server-2012

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

在编译时生成 Guid

我正在尝试生成一个常量值,我将使用如下:

public class Foo()
{
    public const String ExtensionKey = Guid.NewGuid().ToString();
    public int ID { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

编译器抛出错误:

The expression being assigned to 'Foo.ExtensionKey' must be constant

我知道在编译时无法执行方法(构造函数或类型初始值设定项)。我正在寻找一种解决方法来将随机生成的 Guid 分配给ExtensionKey不同类的不同常量。

编辑:

目的是为每种类型生成一个唯一的 Guid。Guid 值对于所有对象实例和应用程序运行时都必须相同。这是行为,Const我正在寻找一种方式来尊重它。

c# compiler-construction guid compiler-errors constants

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

如何强制使用Try/Catch围绕特定方法

我正在创建一个"公共"库,供其他团队成员在各种解决方案项目中使用.这些方法通常void是没有实际返回数据的函数.

我正在寻找一个为什么强迫Try...Catch其他人在一个块内使用这些方法.我需要确保错误得到妥善处理.我虽然依赖布尔返回类型,但也不允许我返回错误消息,所以我唯一的选择是抛出一个Exception.

如果无法进行适当的强制,如何在编译时弹出一个属性来警告开发人员有关Try/Catch的要求?(Obsolete属性的种类).

还有其他更好的方法吗

编辑:

这是我的完整场景:

我有一个调用Web服务的代码方法来远程更新值.更新非常重要.它自己运行的方法很好,但如果无法访问Web服务怎么办?该调用不会返回任何值.

c# attributes exception try-catch

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

如何在后续方法中引用方法返回值?

我只是想知道是否有办法简化这段代码:

var myStr = GetThatValue();
myStr = myStr.Substring(1, myStr.Length - 2); // remove first and last chars
Run Code Online (Sandbox Code Playgroud)

进入这个:

// how to get hold of GetThatValue return value?
var myStr = GetThatValue().Substring(1, hereWhat.Length - 2);
Run Code Online (Sandbox Code Playgroud)

我虽然关于this关键字但它在这种情况下不起作用.它将按预期引用类实例.

c# methods return-value

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