Tag: short

短的一元减去变成一个int?

在下面的: public class p { short? mID; short? dID; } short id = p.mID ?? -p.dID.Value; 编译器给我错误: 错误21无法将类型’int’隐式转换为’short’。 存在显式转换(您是否错过了演员?) 我必须将代码更改为以下代码才能工作: short id = p.mID ?? (short)-p.dID.Value; 好像编译器正在执行类似(int)0 – p.dID.Value,或Int16.operator – 正在返回Int32s …?

C#:指向多个整数的引用/指针数组

我想在数组中引用一些短路。 我以为我可以创建短裤,然后将它们添加到arrays中。 所以…每次更改引用的对象时,都会反映在数组中,反之亦然。 做一些试验使我确信它不是那么有效。 事实上,看起来价值是转移而不是参考。 下面的代码创建了两个short,将这些作为对象添加到数组中,然后更改原始short。 但是,当访问数组中假定的引用short时它没有改变,这使我相信它是一个与原始对象无关的全新对象。 Console.WriteLine(“Testing simple references:”); short v1 = 1; short v2 = 2; object[] vs = new object[2]; vs[0] = v1; vs[1] = v2; v1 = 1024; v2 = 512; Console.WriteLine(” v1: ” + (short)vs[0]); Console.WriteLine(” v2: ” + (short)vs[1]); 我在这里误解了一些基本的东西,如果有人可以解释,我会很感激,并且可能会指出一个可以做我想做的解决方案。

将short 转换为Stream,可以播放为Audio

所以我所拥有的是一个short []数组,它表示WAV文件的原始数据。 这意味着它不包含通常包含的任何页眉或页脚信息。 为了播放这个音频,我需要将它转换为某种类型的流,不幸的是,这个short []数组中的数据是Int16,并且许多值超过255,因此无法转换为字节且无法转换为流。 有谁知道我怎么能播放这个音频数据?

在C#中从short转换为byte时会发生什么?

我有以下代码: short myShort = 23948; byte myByte = (byte)myShort; 现在我没想到myByte包含值23948.我猜它会包含255(我相信一个字节的最大值)。 然而,它包含140,它让我想知道为什么; 幕后实际发生了什么? 请注意,我不是在找人解决23948无法容纳的问题,我只是想知道底层的实现