草庐IT

bytes_size

全部标签

c# - 隐式类型数组 : why we can't set array size explicitly?

C#语言规范(7.6.10.4)说,数组创建表达式有树种:newnon-array-type[expression-list]rank-specifiersoptarray-initializeroptnewarray-typearray-initializernewrank-specifierarray-initializer第三个用于隐式类型数组:varfoo=new[]{1,2,3};问题:在隐式类型数组的情况下,是否有任何重要的理由禁止显式设置数组大小?与这种语法相比,它看起来像是不对称行为:varfoo=newint[3]{1,2,3};更新。稍微澄清一下。我可以看到,显式设

c# - 将 BYTE 数组转换为 INT

我有这种代码staticvoidMain(string[]args){byte[]array=newbyte[2]{0x00,0x1f};Console.WriteLine(BitConverter.ToInt32(array,0));}但是它不起作用。它抛出异常:Destinationarrayisnotlongenoughtocopyalltheitemsinthecollection.Checkarrayindexandlength.怎么了? 最佳答案 顾名思义,一个Int32是32位,即4个字节,所以如果要将字节数组转换为I

c# - MemoryStream:为什么在readByte之后转换为byte

在thisexamplefromMS,您会注意到,在我们从内存流中读取一个字节后,它会进入一个int,然后必须将其转换为byte。令我感到奇怪的是,像.ReadByte()这样的函数首先不返回一个字节。MS这样做有什么原因吗?//Readtheremainingbytes,bytebybyte.while(count我突然想到。也许这归结为使用。也许ReadByte()通常用于检索较短的长度,随后的长度会在通过长度变化的检索中消耗intlength=ms.ReadByte();ms.Read(buf,0,lenth);即你可以使用没有Actor的长度。这是一个足够好的理由吗?

c# - 如何用 'System.Security.Cryptography.AesManaged'加密一个byte[]?

基本上我想使用System.Security.Cryptography.AesManaged(或者更好的类,如果你认为有一个?)使用给定的对称key获取一个字节数组并创建另一个加密的字节数组(我假设我需要一个吗?)。我还需要逆向这个过程的方法。这样做的目的是让我可以加密存储的密码。我假设有一种简单的方法可以做到这一点?谢谢 最佳答案 编辑:你真的应该在每次加密时生成一个随机IV,这与我下面的古老代码不同:这是我最后所做的,灵感来自(旧版本的)迈克尔的回答:privatestringEncrypt(stringinput){retur

c# - System.Net.ProtocolViolationException : You must write ContentLength bytes to the request stream before calling [Begin]GetResponse

我得到了"System.Net.ProtocolViolationException:YoumustwriteContentLengthbytestotherequeststreambeforecalling[Begin]GetResponse"errorwhencallingtothe"BeginGetResponse"methodofthewebrequest.这是我的代码:try{StreamdataStream=null;WebRequestWebrequest;Webrequest=WebRequest.Create(this.EndPointAddress);Webrequ

c# - 从 File.ReadAllBytes (byte[]) 中删除字节顺序标记

我有一个HTTPHandler,它正在读取一组CSS文件并组合它们,然后对它们进行GZip压缩。但是,某些CSS文件包含字节顺序标记(由于TFS2005自动合并中的错误),并且在FireFox中,BOM被读取为实际内容的一部分,因此它搞砸了我的类名等。我如何去除出BOM字符?有没有一种简单的方法可以做到这一点,而无需手动遍历字节数组寻找“”? 最佳答案 扩展Jon'scomment带sample。varname=GetFileName();varbytes=System.IO.File.ReadAllBytes(name);S

c# - 在后面的代码中应用 Grid Star Size

我如何以编程方式构建这段XAML?动态解析和构造控件是否有优雅的解决方案?我正在尝试做某事:RowDefinitionnewRow=newRowDefinition();newRow.Height=newGridLength(10);newGrid.RowDefinitions.Add(newRow);但是我如何分配一个*符号呢?寻找解决这个问题的任何想法!谢谢! 最佳答案 您可以使用Grid.Star单位类型newRow.Height=newGridLength(1,GridUnitType.Star);您还可以使用XamlRea

c# - 背靠背 for 循环中的 int、short、byte 性能

(背景:WhyshouldIuseintinsteadofabyteorshortinC#)为了满足我自己对使用“适当大小”整数与“优化”整数的优缺点的好奇心,我编写了以下代码,这些代码强化了我之前对.Net中的int性能的看法(并对此进行了解释在上面的链接中)这是针对int性能而不是short或byte进行了优化。DateTimet;longa,b,c;t=DateTime.Now;for(intindex=0;index这在......方面给出了大致一致的结果~950000~2000000~1700000这符合我的预期。然而,当我尝试像这样为每种数据类型重复循环时......t=D

c# - 将 bool 转换为 byte 的最快方法是什么?

将bool转换为byte的最快方法是什么?我想要这个映射:False=0,True=1注意:我不想使用任何if语句或其他条件语句。我不希望CPU停止或猜测下一条语句。更新:对于那些想了解这个问题的人。此示例显示如何从代码中减少两个if语句。byteA=k>9;//Ifitwaspossible(k>9)==0||1c[i*2]=A*(k+0x37)-(A-1)*(k+0x30); 最佳答案 使用不安全代码这个方法非常快。启用优化后,它比条件运算符快约30%。boolinput=true;bytevalue=*((byte*)(&in

c# - 为什么从 byte 到 sbyte 的转换会为优化代码提供错误的值?

安装NUnit3后,可以使用以下代码示例重现该问题。[TestFixture]publicclassSByteFixture{[Test]publicvoidTest(){vardata=newbyte[]{0xFF};sbytex=-128;data[0]=(byte)x;byteb1=data[0];varb2=(sbyte)b1;Assert.AreEqual(b1.ToString(),"128");Assert.AreEqual(b2.ToString(),"-128");}}该项目应该是一个类库,因为在控制台应用程序中它是不可复制的。应该启用优化,即csproj文件中的以下