草庐IT

c# - 检测*所有*表情符号

现在我正在使用这段代码:publicstaticboolContainsEmoji(thisstringtext){Regexrgx=newRegex(@"\p{Cs}");returnrgx.IsMatch(text);}这有点帮助。它们中的大多数似乎都被检测到了,但也有一些未被检测到。这是一个可以提供帮助的引用列表:http://unicode.org/emoji/charts/full-emoji-list.html所有的笑脸看起来都很好,但这些特定的表情符号不会被正则表达式捕捉到:1920U+2614☔雨滴雨伞1921U+26F1⛱落地伞1922U+26A1⚡高压1923U+2

c# - 将 sbyte[] 转换为 bool[] 并将 char[] 转换为 short[]

有没有显式转换/强制转换sbyte[]或byte[]到bool[]char[]到short[]/ushort[]在CIL中,您经常会看到诸如stelemTypesbyte(ldlocpArray)ldc_i41ldc_i40正在执行pArray[1]=true,其中pArray是bool[]类型的一维数组。我想通过做在c#中复制它(sbyte[])pArray[1]=1;不幸的是,C#编译器不允许这样做。 最佳答案 未记录的技巧,风险自负:(例如here以及许多其他地方)[StructLayout(LayoutKind.Explic

c# - Char.IsDigit() vs Char.IsNumber(),有什么区别?

Char.IsDigit()和Char.IsNumber()有什么区别 最佳答案 //1/2symbolChar.IsNumber('½');//trueChar.IsDigit('½');//false//UnicodecharacterforRomannumeral5(V)Char.IsNumber('\x2165');//trueChar.IsDigit('\x2165');//false 关于c#-Char.IsDigit()vsChar.IsNumber(),有什么区别?,我们

c# - 在 .Net 中使用大于 2 个字节的 unicode 字符

我正在使用此代码生成U+10FFFCvars=Encoding.UTF8.GetString(newbyte[]{0xF4,0x8F,0xBF,0xBC});我知道它是供私有(private)使用之类的,但它确实显示了一个字符,正如我在显示它时所期望的那样。操作此unicode字符时会出现问题。如果我以后这样做:foreach(varchins){Console.WriteLine(ch);}它不是只打印单个字符,而是打印两个字符(即字符串显然由两个字符组成)。如果我改变我的循环以将这些字符添加回空字符串,如下所示:stringtmp="";foreach(varchins){Cons

c# - 文件名中有分号或左括号时的 FileUpload.FileName 行为

我有一个FileUpload控件,对文件名有某些限制,某些字符不应被允许。以下代码适用于大多数字符,但由于某些原因不适用于其他字符:if(FileUpload1.HasFile){if(FileUpload1.FileName.Contains('#')||FileUpload1.FileName.Contains('&')||FileUpload1.FileName.Contains(';')||FileUpload1.FileName.Contains('{')||FileUpload1.FileName.Contains('}')||FileUpload1.FileName.Co

c# - KeyEventArgs.Key 到 char

有没有办法将WPF的KeyEventArgs.Key转换为Char?我尝试使用KeyInterop:varx=(Char)KeyInterop.VirtualKeyFromKey(e.Key);对于数字和字母,它工作正常,但对于其他字符则不然。例如。对于OemComma,它返回“1/4”而不是“,”。我需要它来防止用户在TextBox中输入除数字和分隔符(即逗号或句点)以外的任何字符。 最佳答案 更新:下面的评论找到了原文http://stackoverflow.com/a/5826175/187650在我忘记的地方找到了这个。仍在

c# - 在 C# 中用多个 Char 分割字符串

我想用“ER”分隔符拆分String=“Asaf_ER_Army”。String的Split函数不允许将字符串拆分为一个以上的字符。如何用“多个字符”分隔符拆分字符串? 最佳答案 确实如此。阅读here.stringsource="[stop]ONE[stop][stop]TWO[stop][stop][stop]THREE[stop][stop]";string[]stringSeparators=newstring[]{"[stop]"};//Splitastringdelimitedbyanotherstringandretu

c# - 为什么char需要2个字节,因为它可以存储在一个字节中

谁能告诉我在C#中为什么char需要两个字节,尽管它可以存储在一个字节中。你不认为这是浪费内存吗?如果不是,那么如何使用额外的1字节?简单来说..请让我清楚额外的8位有什么用。!! 最佳答案 althoughitcanbestoredinonebyte是什么让你这么想的?英语中的每个字符只需要一个字节来表示,但其他语言使用其他字符。考虑不同字母表(拉丁文、中文、阿拉伯文、西里尔文...)的数量,以及每个字母表中的符号数量(不仅是字母或数字,还有标点符号和其他特殊符号)...有世界上有数以万计的不同符号在使用!所以一个字节永远不足以代

c# - ChrW(e.KeyCode) 的 C# 等价物是什么?

在VB.NET2008中,我使用了以下语句:MyKeyChr=ChrW(e.KeyCode)现在我想把上面的语句转换成C#。有什么想法吗? 最佳答案 C#中ChrW的快捷等价物只是将值转换为char:charMyKeyChr=(char)e.KeyCode;更长且更具表现力的版本是使用其中一个转换类,例如System.Text.ASCIIEncoding.或者您甚至可以通过导入Microsoft.VisualBasic命名空间在C#中使用实际的VB.NET函数。只有当您依赖ChrW方法在幕后执行的一些特殊检查时,这才是真正必要的,您

c# - 选择随机字符

我有一些字符:chars="$%#@!*abcdefghijklmnopqrstuvwxyz1234567890?;:ABCDEFGHIJKLMNOPQRSTUVWXYZ^&".ToCharArray();现在我正在寻找一种从这些中返回随机字符的方法。我找到了一个可能有用的代码:staticRandomrandom=newRandom();publicstaticcharGetLetter(){//Thismethodreturnsarandomlowercaseletter//...Between'a'and'z'inclusize.intnum=random.Next(0,26);