草庐IT

CHAR_LENGTH

全部标签

c# - 如何使用 C# 获取 char**?

这个问题在这里已经有了答案:MarshalanarrayofstringsfromC#toCcodeusingp/invoke(2个答案)C#callC++DLLpassingpointer-to-pointerargument(3个答案)关闭6年前。我需要以以下形式将参数传递给不安全的DllImported函数:[DllImport("third_party.dll")]privatestaticexternunsafeintstart(intargc,char**argv);我假设它是一个字符串数组。但是,当我尝试执行以下操作时,出现“无法从字符串[]转换为char**”错误。我该

c# - P/调用,c# : unsigned char losing a byte

我正在为软件的SDK编写一个dll文件,我正在尝试调用一个函数来获取有关软件主机的信息。函数想要的结构中有两个无符号字符变量(HostMachineAddress,HostProgramVersion),当我尝试从c#调用它时,我似乎“松开了”最后一个字节...如果我更改c#中的SizeConst结构低于5我确实得到了丢失的字节,但是它导致另一个变量丢失数据。有人可以帮我找到解决这个问题的方法吗?还尝试使用类而不是结构导致system.stackoverflow错误C#结构[StructLayout(LayoutKind.Sequential,CharSet=CharSet.Ansi)

c# - byte[] array to struct with variable length 数组

我正在从套接字接收一个字节数组,字节的结构只是一个固定宽度字符串的大字符数组。在某些情况下,最后一个字段是动态的(而不是固定长度),我正在尝试将字节编码为结构。我读过可变长度的char数组需要是IntPtr,但我还没有弄清楚如何用剩余的字节对其进行编码。我还在一些文章中读到我可能需要第二个结构,但仍然无法弄清楚如何正确地编码它。这是一个这样的site在结构中处理可变长度字符数组的正确方法是什么?结构:[StructLayout(LayoutKind.Sequential,CharSet=CharSet.Ansi)]publicstructHeader{#regionprivatemem

c# - String.Replace(char, char) 还是 Replace(string, string)?

当我只需要将一个字符替换为另一个字符时,String.Replace(char,char)和String.Replace(string,string)之间是否存在性能差异? 最佳答案 是的,有:我做了一个快速实验,看起来字符串版本慢了大约3倍。stringa="quickbrownfoxjumpsoverthelazydog";DateTimet1=DateTime.Now;for(inti=0;i!=10000000;i++){varb=a.Replace('o','b');if(b.Length==0){break;}}Date

C# 将 char 和 char 数组分配给字符串?

charcharacter='c';stringstr=null;str=character.ToString();//thisisokchar[]arrayChar={'a','b','c','d'};stringstr2=null;str2=string.Copy(arrayChar.ToString());//thisisnotokstr2=arrayChar.ToString();//thisisnotok.我正在尝试将char数组转换为字符串,但最后两次尝试均无效。我发现的其他来源,他们必须创建新的字符串类型,但我不知道为什么。谁能给我一点解释,谢谢。

c# - 无法从 'string' 转换为 'char[]' 以进行拆分

我正在使用以下代码拆分字符串:stringsss="125asdasdlkmlkdfknkldj125kdjfngdkjfndkg125ksndkfjdks125";Lists=newList(sss.Split("125"));但是,我收到一个编译时错误:cannotconvertfrom'string'to'char[]'将一个字符串拆分为另一个字符串的正确方法是什么? 最佳答案 String.Splitwhichtakesjustastring没有过载,而是使用下一个最接近的匹配项:Lists=newList(sss.Spli

c# - 如何在不复制的情况下从 char 数组创建字符串?

我有一个非常大的字符数组,我需要将其转换为字符串以便在其上使用正则表达式。但它太大了,当我将它传递给字符串构造函数时,我得到了OutOfMemoryException。我知道字符串是不可变的,因此不应该可以指定它的底层字符集合,但我需要一种无需复制就可以使用正则表达式的方法整个事情。我如何获得该数组?我使用StreamReader从文件中获取它。我知道要读取的内容的起始位置和长度,Read和ReadBlock方法需要我提供一个char[]缓冲区。所以这里是我想知道的事情:有没有办法指定字符串的底层集合?(它甚至将其字符保存在数组中吗?)...或直接在字符数组上使用正则表达式?...或者

c# - 如何将 char 转换为其完整的 Unicode 名称?

这个问题在这里已经有了答案:FindingoutUnicodecharacternamein.Net(6个答案)关闭9年前。我需要在字符(例如'α')和它的完整Unicode名称(例如"GREEKSMALLLETTERALPHA")之间进行双向转换的函数。我想出的解决方案是在在线提供的官方Unicode标准中执行查找:http://www.unicode.org/Public/6.2.0/ucd/UnicodeData.txt,或者更确切地说,在其缓存的本地副本中,可能事先转换为合适的集合以提高查找性能)。是否有更简单的方法来进行这些转换?我更喜欢C#中的解决方案,但也欢迎可以适应C#

c# - 关于 GUID 的 : Are they always fixed in length, 的问题,中间的数字总是 4 吗?

我刚刚生成了数百万个GUID,将它们变成了一个字符串并得到了长度……它始终是相同的。在转换为字符串时,我可以依赖这个固定长度的GUID吗?此外,GUID的中间数字是否始终如屏幕截图所示“4”? 最佳答案 是的,长度是固定的,是的,当您使用标准的tostring格式时,中间的数字总是4。GUID中的一些位(几乎在任何非Windows的地方都称为UUID)是固定的,用于指示诸如版本等内容。http://en.wikipedia.org/wiki/Uuid编辑我应该补充一点,“4”仅适用于根据.NET中实现的Guid.NewGuid算法生

c# - 为什么在这种情况下我会打印出 System.char[]?

我想弄清楚我在这里做错了什么,但我似乎做不到。我有这种方法,它接受一个字符串并将其反转。但是,当我从调用方方法中打印出反转的字符串时,我只得到“System.Char[]”而不是实际的反转字符串。staticstringreverseString(stringtoReverse){char[]reversedString=toReverse.ToCharArray();Array.Reverse(reversedString);returnreversedString.ToString();} 最佳答案 在.NET中对T数组调用To