草庐IT

long-running

全部标签

C# Application.Run without Form

是否可以调用Application.Run,​​但不传递表单参数,或者如果没有可调用的表单,是否有替代方法?Run方法似乎没有任何不接受表单的重载。例如,如果我想先实例化一个类,然后让它调用表单,有没有办法做等同于:Application.Run(myClass);澄清一下,我仍然想要.Run()提供的功能。也就是说,建立一个循环来保持应用程序运行,但不是跟踪表单,而是跟踪类或其他对象。这最初与紧凑型框架有关。我认为这就是Run方法没有我正在寻找的重载的原因。 最佳答案 TheRunmethoddoesn’tseemtohavean

C#:如何将 long 转换为 ulong

如果我尝试使用BitConverter,它需要一个字节数组,但我没有。我有一个Int32,我想将它转换为UInt32。在C++中,这没有问题。 最佳答案 您只需要一个简单的转换。由于这样做可能会失去精度,因此转换是显式的。longx=10;ulongy=(ulong)x; 关于C#:如何将long转换为ulong,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/688667/

c# - 将 sql server rowversion 转换为 long 或 ulong?

rowversion(时间戳)数据类型的正确类型是什么?我知道它是8个字节,但我无法在MSDN中找到一个链接来判断它是有符号长还是无符号长。我应该使用哪个代码,这重要吗?byte[]SqlTimeStamp;longlongConversion;longConversion=BitConverter.ToInt64(SqlTimeStamp,0);TimeStamp=BitConverter.GetBytes(longConversion);ulongulongConversion;ulongConversion=BitConverter.ToUInt64(SqlTimeStamp,0

c# - 我应该在 Entity Framework 模型中使用 int 还是 long 作为主键

我正在编写MVC5Internet应用程序,我对模型的id字段有疑问。我应该使用int还是long作为模型中的id?我说的是用于主键的字段?如果数据库有100,000条记录,一个int就足够了吗?c#中的int与SQL数据库中的int不同吗?提前致谢 最佳答案 对于INT类型,从1开始,您将获得超过20亿可能的行-这对于绝大多数情况来说应该绰绰有余。使用BIGINT,您可以获得大约922千万亿(922有15个零-922'000亿)-对您来说足够了吗??如果您使用从1开始的INTIDENTITY,并且您每秒插入一行,全天候,您需要66

c# - 使用 Task.Run 调用异步方法似乎是错误的?

我最近看到这段代码是由我们为我们工作的承包商编写的。它要么非常聪明,要么非常愚蠢(我认为是后者,但我想要第二个意见)。我在asyncawait上的速度不是很快。基本上它是这样工作的:publicboolSend(TemplatedMessageDtomessage){returnTask.Run(()=>SendAsync(message)).GetAwaiter().GetResult();}publicasyncTaskSendAsync(TemplatedMessageDtomessage){//codedoingstuffvarresults=await_externalres

c# - Thread.IsAlive 和 Thread.ThreadState==ThreadState.Running

我正在使用if(Thread.IsAlive)检查线程的状况。该线程中正在运行一个表单。有时在执行过程中,即使窗体保持打开状态,对Thread.IsAlive的调用似乎评估为false。我想用if(Thread.ThreadState==ThreadState.Running)执行相同的检查。这是正确的做法吗?如果不是,可能的解决方法是什么? 最佳答案 msdnThread.IsAlive属性如果此线程已启动且未正常终止或中止,则为true;否则为假。msdn线程.ThreadState运行线程已经启动,没有阻塞,也没有挂起的Thr

c# - 在 C# 中将位从 ulong 复制到 long

看来.NETperformancecountertype有一个烦人的问题:它为计数器RawValue公开了long而windows中的实际性能计数器值是无符号的并且不能为负数。例如,如果您有一个NumberOfItems64计数器,API将非常乐意接受一个负值,然后默默地将其转换为一个非常大的数字。事实上,对于计数器值范围的一半,设置它的唯一方法是找到要传入的正确负值!我假设这里发生的是他们从long中获取原始位并将其视为无符号的64位数字。二进制补码的负值只是作为计数器的正数读取。所以我想弄清楚如何强制C#将ulong中的位直接放入long中,因为这正是API所需要的。但是C#在这里

c# - NUnit 3 : Forbid tests to run in parallel

我安装了最新的NUnit(3.2.0),并且所有测试都并行运行。它可能看起来像是理想的行为,但我并没有要求它,实际上它破坏了我的一些测试。我在[OneTimeSetUp]中进行了一些依赖于线程的初始化,似乎我无法做任何事情来强制NUnit按顺序运行我的测试。我读过documentation它指出默认情况下测试不是并行运行的,但实际上它们是!此外,我尝试添加以下属性:[assembly:Parallelizable(ParallelScope.None)]—没有成功。有人知道如何改变这种行为吗?附言我使用ReSharper运行它,但也尝试使用MSVS插件。UPD:我正在使用MVVMLig

c# - 任务不包含 Run 方法的定义

我第一次尝试在我的代码中实现多线程。当我尝试使用TaskT=Task.Run(()=>{});VisualStudio仍然在Run()下划线声明“任务不包含定义‘运行’”我正在使用System.Threading.Tasks;互联网对这个问题一无所知 最佳答案 .NET4.0没有Task.Run方法。相反,您可以使用:任务T=Task.Factory.StartNew(()=>{});您可以了解更多关于here的信息 关于c#-任务不包含Run方法的定义,我们在StackOverflow

c# - Windows 窗体 : add new line to label if text is too long

我正在使用C#。有时,从Web服务返回的文本(我在标签中显示)太长,会在表单边缘被截断。如果表单不适合标签,是否有简单的方法向标签添加换行符?谢谢 最佳答案 如果您将标签设置为autosize,它会随着您放入其中的任何文本自动增长。为了使其以特定宽度自动换行,您可以设置MaximumSize属性。myLabel.MaximumSize=newSize(100,0);myLabel.AutoSize=true;经过测试并有效。如果您希望始终能够看到数据,可以将Label容器的AutoScroll属性设置为true。