草庐IT

数字安全

全部标签

c# - 编译器是否优化对 const 变量和文字 const 数字的操作?

假设我有一个带字段的类:constdoublemagicalConstant=43;这是代码中的某处:doublerandom=GetRandom();doubleunicornAge=random*magicalConstant*2.0;编译器是否会优化我的代码,使其不会在每次计算unicornAge时都计算magicalConstant*2.0?我知道我可以定义下一个将这个乘法考虑在内的常量。但这在我的代码中看起来更清晰。编译器对其进行优化是有意义的。 最佳答案 (这个问题是thesubjectofmybloginOctober

c# - 安全异常 : Request for the permission of type 'System.Net.Mail.SmtpPermission'

这是“在本地工作,在服务器上不工作”的帖子之一。我有一个发送电子邮件的简单联系表单。在服务器上,我得到以下异常:SecurityExceptionDescription:Theapplicationattemptedtoperformanoperationnotallowedbythesecuritypolicy.Tograntthisapplicationtherequiredpermissionpleasecontactyoursystemadministratororchangetheapplication'strustlevelintheconfigurationfile.Ex

c# - IEnumerable<T> 线程安全?

我有一个填充List的主线程.此外,我创建了一个将在不同线程上执行的对象链,需要访问列表。原始列表生成后将永远不会被写入。我的想法是将列表传递为IEnumerable到在其他线程上执行的对象,主要是为了不允许那些实现这些对象的人错误地写入列表。换句话说,如果保证不写入原始列表,多线程使用.Where是否安全?或foreach在IEnumerable上?如果原始集合从未更改,我不确定迭代器本身是否是线程安全的。 最佳答案 IEnumerable无法修改。那么什么可以是非线程安全的呢?(如果您不修改实际的List)。对于非线程安全,您需

c# - 如何在 Silverlight 中创建数字文本框?

正如标题所言。我看过从TextBox继承,但唯一合理的覆盖是“OnKeyDown”,但这只是从Key枚举中给了我一个键(无法使用Char.IsNumeric())。 最佳答案 我接受了Nidhal建议的答案并对其进行了一些编辑以处理数字上方字符的移位情况(即!@#$%^&*()),因为该解决方案仍将允许文本框中的这些字符。privatevoidNumClient_KeyDown(objectsender,KeyEventArgse){//HandleShiftcaseif(Keyboard.Modifiers==ModifierKe

c# - 在 x 数量相同的数字后拆分字符串

我需要在C#中拆分一个字符串,如下所示:字符串是这样的:0000120400567开头总是0。在上面的示例中,有六个零后跟120400567。我想拆分我得到的最后一部分120400567的字符串。开头零的数量可能会改变(最后一个零件号将增加一个数字)这意味着我们可以有001245878945而我想要的是1245878945。我怎样才能拆分这个字符串,去掉第一个0或第一个x数量的零,只得到结束数字?可能是因为数字的开头没有任何零,数字直接从第一个数字开始......但也可能是数字包含8个零和2个或更多的数字。 最佳答案 stringw

c# - 我可以确定 KeyEventArg 是字母还是数字吗?

有没有办法确定KeyEventArgs中的键是否为字母/数字(A-Z、0-9)?还是我必须自己做?我找到了e.KeyCode的方法,准确吗?if(((e.KeyCode>=Keys.A&&e.KeyCode=Keys.D0&&e.KeyCode=Keys.NumPad0&&e.KeyCode 最佳答案 您可以使用char.IsLetterOrDigit()KeyCode上的方法事件参数:boolisLetterOrDigit=char.IsLetterOrDigit((char)keyEventArgs.KeyCode);

c# - 从中间有非数字的字符串中解析数字

我正在处理.NET项目,我试图仅解析字符串中的数值。例如,strings="12ACD";intt=someparefun(s);print(t)//tshouldbe12几个假设是字符串模式始终是数字后跟字符。数字部分总是一位或两位数的值。是否有任何C#预定义函数来解析字符串中的数值? 最佳答案 没有这样的功能,至少我不知道。但一种方法是使用正则表达式删除所有非数字的内容:usingSystem;usingSystem.Text.RegularExpressions;intresult=//TheConvert(System)cl

c# - 如何将数字反转为整数而不是字符串?

我遇到了一个问题“如何将数字反转为整数而不是字符串?”谁能帮我找出答案?反转应该反转数字的小数位,即使用基数10。 最佳答案 是这样的吗?publicintReverseInt(intnum){intresult=0;while(num>0){result=result*10+num%10;num/=10;}returnresult;}作为一个hackishone-liner(更新:使用Benjamin的评论来缩短它):num.ToString().Reverse().Aggregate(0,(b,x)=>10*b+x-'0');更

c# - 屏幕截图安全桌面

我正在使用屏幕共享项目。我正在使用以下功能捕获桌面屏幕。它工作正常。但是每当securedesktoppromptingforelevation.它返回黑色/空白图像。但是当我turnoffsecureddesktop来自本地安全策略。它工作正常。有什么方法可以在不禁用本地安全策略的情况下捕获安全桌面。staticBitmapCaptureDesktop(){SIZEsize;Bitmapprintscreen=null;size.cx=Win32Stuff.GetSystemMetrics(Win32Stuff.SM_CXSCREEN);size.cy=Win32Stuff.GetS

c# - 如何在 C# 中获取超过 100 位的十进制数字?

在C#中是否可以获取超过100位的十进制数字?如果是,代码的必要部分是什么?在Java中有一个叫做BigDecimal的东西,但它仍然不能超过55位。 最佳答案 使用J#库:DownloadtheJ#可重新分发以获取J#类库。Thisarticlehints关于如何使用它在您的.NET项目中获得ZIP能力,并解释了一些关于BigDecimal的信息,但正如Ramhound解释的那样,这篇文章相对较旧。下载后,将vsjlib添加到您的项目中。它在.NET4.0上对我不起作用,但在2.0项目上确实有效。它包含一个BigDecimal类,