草庐IT

char-index

全部标签

c# - C# List<char[]> 是否分配在连续内存中?

如果我声明一个char数组列表,它们是分配在连续的内存中,还是.NET创建一个链接列表?如果它不是连续的,有没有办法声明一个连续的char数组列表?char数组的大小是预先知道的并且是固定的(它们的大小都相同)。 最佳答案 是的,但不是您想要的方式。List保证它的元素是连续存储的。数组是引用类型,因此引用连续存储为List保证。但是,数组本身是单独分配的,它们的存储位置与列表无关。它只关心它的元素,即引用。如果您需要,那么您应该只使用一个大数组并维护边界数据。编辑:根据您的评论:Theinnerarraysarealways9ch

C# 十六进制转char

我有一个长度为4的十六进制字符串,比如“003a”。将其转换为char的最佳方法是什么?先转bytes再转char? 最佳答案 试试这个:(char)Int16.Parse("003a",NumberStyles.AllowHexSpecifier);或System.Convert.ToChar(System.Convert.ToUInt32("003a",16));或stringstr="";for(inti=0;i 关于C#十六进制转char,我们在StackOverflow上找到一

c# - 格式化日期时间错误 "Templates can be used only with field access, property access, single-dimension array index.."

在MVCRazorView中,我试图将DateTime字段格式化为仅显示时间。使用下面的代码我收到错误“模板只能用于字段访问、属性访问、一维数组索引或单参数自定义索引器表达式。”@(Html.DisplayFor(m=>row.LastUpdatedDate.ToString("HH:mm:ss")))任何帮助请问是什么导致了这个错误以及如何解决它?感谢您的帮助。 最佳答案 我遇到了同样的问题,我已经解决了。如果您想将“LastUpdatedDate”转换为特定格式,那么您可以试试这个:@Html.TextBoxFor(m=>row

来自 Int 的 C# Char 用作 String - VB Chr() 的真正等价物

我正在努力为我的问题找到一个明确的答案,它不与网站上的任何其他问题重复。我已经在SO和其他几个网站上阅读了许多关于此的帖子和相关问题。例如这个是关键答案(许多其他人被标记为重复并重定向到这个):What'stheequivalentofVB'sAsc()andChr()functionsinC#?我正在将VBA宏转换为C#。在VBA中chr(7)可以简单地连接到一个string就好像chr()会产生一个string。为什么这不能用C#完成?不幸的是,答案并不明确,他们多次声明这是正确的用法:stringmystring=(char)7;但它给了我一个编译器错误,因为它没有作为字符串求值

c# - 从字符串末尾删除多个 char 类型

我有一个构建地址字段的循环,其中一些字段在字符串末尾可能为空Listlist=newList();//listcancontainanynumberofvalues,someofwhichmightbe""(emptystring)stringreturnValue="";for(intiRow=1;iRow我的输出是asd,aaa,qwe,123123,,,,,如何从字符串中删除尾随的“,”? 最佳答案 returnValue=returnValue.TrimEnd('',',');

c# - 在 C# 中获取整数的高字节和低字节并将其作为 char 数组发送到 com 端口,如何?

在C中我会这样做intnumber=3510;charupper=number>>8;charlower=number&&8;SendByte(upper);SendByte(lower);其中upper和lower都=54在C#中我这样做:intnumber=Convert.ToInt16("3510");byteupper=byte(number>>8);bytelower=byte(number&8);charupperc=Convert.ToChar(upper);charlowerc=Convert.ToChar(lower);data="GETDM"+upperc+lowe

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# - 通过反射调用 this[int index]

我尝试为MicrosoftOffice实现一个基于反射的后期绑定(bind)库。OfficeCOM对象的属性和方法调用方式如下:Typetype=Type.GetTypeFromProgID("Word.Application");objectcomObject=Activator.CreateInstance(type);type.InvokeMember(,,null,comObject,newobject[]{});InvokeMember是唯一可能的方法,因为Type.GetMethod/GetProperty无法正确处理COM对象。可以使用InvokeMember调用方法和属

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