草庐IT

数字安全

全部标签

c# - WPF Key 是数字或数字

我的窗口中有previewKeyDown方法,我想知道按下的键只是A-Z字母或1-0数字(没有任何F1..12、enter、ctrl、alt等-只是字母或数字)。我试过Char.IsLetter,但我需要给字符,所以e.key.ToString()[0]不起作用,因为几乎每次都是一封信。 最佳答案 像这样的事情会做:if((e.Key>=Key.A&&e.Key=Key.D0&&e.Key=Key.NumPad0&&e.Key当然,您还必须根据您的要求检查没有按下CTRL等修改键。 关于

c# - 如何在 C# 中将任何数字类型与零进行比较

我想创建一个函数来检查作为参数传递的数值是否具有大于零的值。像这样:publicboolIsGreaterThanZero(objectvalue){if(valueisint){return((int)value>0);}elseif(valueisfloat){//Similarcodeforfloat}returnfalse;}我能否尝试将作为函数参数传递的对象强制转换为一种数字数据类型,这样我就可以将它与零进行比较,而不是检查我的if语句中的每种类型?如果转换失败,我将返回false。有没有更好的(阅读更短、更易读)的方法来做到这一点?编辑:有人问我是否知道类型将是数字,为什么

C# 从 float 变量中获取数字

我有一个float变量,我只想得到逗号后面的部分,所以如果我有3.14。我想得到14作为整数。我该怎么做? 最佳答案 您可以从值本身中减去整数部分以检索小数部分。floatx=3.14floatfractionalPortion=x-Math.Truncate(x);然后您可以将它相乘,得到小数部分,以您想要的任何精度表示为整数。将小数部分映射到整数有一些挑战-许多float不能表示为以10为底的整数,因此可能需要比整数所能支持的更多的数字来表示。还有,像3.1和3.01这样的数字呢?直接映射到整数都会得到1。

c# - 从 double 转换为 int 的最佳(最安全)方法

我很好奇将double转换为整数的最佳方法。运行时安全是我在这里的主要关注点(它不一定是最快的方法,但这是我的次要关注点)。我在下面留下了一些我可以想出的选项。任何人都可以权衡哪种是最佳实践吗?有没有我没有列出的更好的方法来完成这个?doublefoo=1;intbar;//Option1boolparsed=Int32.TryParse(foo.ToString(),outbar);if(parsed){//...}//Option2bar=Convert.ToInt32(foo);//Option3if(fooInt32.MinValue){bar=(Int32)foo;}

c# - 将数字四舍五入,使其可以被 5 整除

我想对一个数字(十进制)进行四舍五入,使其可以被5整除。比如我有几个数和四舍五入后的数:NumberRounded0.453.457.310我可以使用ceil将此double转换为int并使用while循环将它们转换为下一个5的倍数,但我想知道是否有任何聪明的方法可以实现这一点。谢谢。 最佳答案 您可以先除以5,然后使用Math.Ceiling舍入值。之后,你可以再次乘以5。introunded=(int)Math.Ceiling(Number/5)*5 关于c#-将数字四舍五入,使其可

c#:如何在数字格式字符串中强制尾随零?

我需要将float显示为1.001.501.551.60以下是我使用f2格式看到的。1.1.51.551.6有没有办法强制出现尾随的0?(我正在使用DevExpressSpinEdit控件并尝试设置显示和编辑格式。) 最佳答案 yourNumber.ToString("N2"); 关于c#:如何在数字格式字符串中强制尾随零?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/7878

c# - 如何对整数的各个数字求和?

我有一个整数值(例如:723),我想将这个整数中的所有值相加,直到得到一个值。ex:7+2+3=121+2=3我是C#新手。请给我一个很好的答案解释:) 最佳答案 尽管取出底部数字并除以10的解决方案是正确的并且清楚地实现了所需的功能,但如果您知道诀窍,则可以用远更少的代码完成此任务。如果按照您描述的方式对数字求和,直到得到一位数,您得到的结果是原始数字除以9的余数。尝试一下。789-->7+8+9=24-->2+4-->6,并且789=87*9+6因此,如果x是正整数,您只需执行x%9即可解决您的问题。如果你得到零,那么真正的结果

c# - 在 ASP.NET MVC 应用程序中处理记录/实体级别的安全性

每个人都在做什么来处理ASP.NETMVC应用程序中单个记录的安全性(检索和修改)?这个应用程序有一个服务/业务层和一个数据访问层,它们完全独立于Web用户界面。我已经在使用成员资格和角色提供程序来处理我应用程序中特定区域/功能的身份验证和授权,但现在我需要保护个人记录。例如,假设Bob可以创建和编辑他自己的FooBar记录。我想确保其他用户无法查看或编辑Bob的记录。我想防止URL操作和/或编程错误。我们可能还希望允许Bob与其他用户共享他的FooBars,允许他们查看但不能编辑他的记录。我想到了几种方法:直接在检索和修改查询中进行数据访问层的安全检查。检查服务层的安全性,在处理业务

c# - System.Security.Principal.WindowsIdentity 的这种使用是否合理安全?

是System.Security.Principal.WindowsIdentity合理地避免被黑客攻击,这样我从Thread.CurrentPrincipal得到的一个实例的Identity或WindowsIdentity.GetCurrent()其中true为IsAuthenticated提供了我的程序集虚假身份信息?当然,没有什么是完全防篡改的,但考虑到Microsoft对.Net的promise和依赖,我预计像这样的关键API将被严格锁定并且难以篡改。这对我来说是一个有效的假设吗?我的目标是在我的程序集中提供合理的最佳实践SSO。如果Windows本身受到损害,那是我无法控制的

c# - 使用 : HandleRef or IntPtr (newer source code from Microsoft no longer uses HandleRef) 哪个更好/更安全

例如,在旧的.NETFramework2.0源代码(Windows窗体、VisualStudio2005-Whidbey)中,GetClientRect函数是使用HandleRef定义的:[DllImport(ExternDll.User32,ExactSpelling=true,CharSet=CharSet.Auto)]publicstaticexternboolGetClientRect(HandleRefhWnd,[In,Out]refNativeMethods.RECTrect);在新的WindowsAPI代码包(来自Microsoft,2009/2010)中,使用IntPt