Tag: C#的

如果32位整数溢出,我们可以使用40位结构而不是64位长结构吗?

如果一个32位的整数溢出,而不是将int升级为long ,那么如果我们只需要一个范围在2 40内,就可以使用一些40位的types,这样我们就可以节约24(64-40)位为每个整数? 如果是这样,怎么样? 我必须处理数十亿的空间是一个更大的约束。

在TextBlock中格式化文本

如何在WPF应用程序中实现TextBlock控件中的文本格式? 例如:我想用粗体字来表示某些词,其他的用斜体表示,有些用不同的颜色表示,例如: 我的问题背后的原因是这个实际问题: lblcolorfrom.Content = "Colour From: " + colourChange.ElementAt(3).Value.ToUpper(); 我希望string的第二部分是大胆的,我知道我可以使用两个控件(标签,TextBlocks等),但我宁愿不,因为已经使用了大量的控件。

如何在C#中创build一个自定义属性

我已经尝试了很多次,但仍然无法理解自定义属性的用法(我已经通过了很多链接)。 任何人都可以请解释一个自定义属性与代码的非常基本的例子?

使用JSON.NET序列化字段的顺序

有没有一种方法来指定使用JSON.NET的序列化的JSON对象中的字段的顺序? 指定单个字段总是首先出现就足够了。

指针指向正常指针

指针的目的是保存特定variables的地址。 那么下面代码的内存结构应该是这样的: int a = 5; int *b = &a; ……内存地址……值 一个… 0x000002 ………………. 5 b … 0x000010 ………………. 0x000002 好的。 那么现在假设我想保存指针* b的地址。 那么我们通常定义一个双指针** c,as int a = 5; int *b = &a; int **c = &b; 然后内存结构如下所示: ……内存地址……值 一个… 0x000002 ………………. 5 b … 0x000010 ………………. 0x000002 c … 0x000020 ………………. 0x000010 所以** c引用* […]

为什么应该保守地使用例外?

可能重复: 为什么exception处理不好? 我经常看到/听到有人说exception应该很less使用,但永远不能解释为什么。 虽然这可能是正确的,但理由通常是一种滑稽的说法: “这被称为一个例外” ,对我来说,这似乎是一位应该得到尊敬的程序员/工程师永远不会接受的那种解释。 有一个例外可以用来解决的一系列问题。 为什么把它们用于控制stream是不明智的? 对于如何使用它们而言是非常保守的哲学是什么? 语义? 性能? 复杂? 美学? 惯例? 我以前看过一些关于绩效的分析,但是在一些与某些系统相关而与别人无关的层面上。 再次,我不一定不同意他们应该为特殊情况而得救,但我想知道共识的基本原理是什么(如果存在的话)。

将一个int转换为std :: string

什么是最短的方式,最好是内联,将int转换为string? 使用stl和boost的答案将受到欢迎。

Android AudioRecord强制另一个stream到MICaudio源

更新3:我与另一位开发人员合作,我们似乎find了一个能够为此花费大笔金钱的人。 他们给我们一个testingapk,它似乎工作。 我们将继续购买源代码。 我希望我们不会被骗。 一旦我发现,我会更新 更新2:仍然在努力。 经过更多痛苦的日子,我现在认为没有什么奇特的事情,但他们只是在本机端使用AudioFlinger( 请参阅链接 )来调用AudioFlinger :: setParameters 我现在正在寻找如何编写一个简单的JNI来调用AudioFlinger :: setParameters with audio_io_handle_t ioHandle,const String8&keyValuePair 我知道什么keyValuePairs可以但不是关于audio_io_handle_t的线索 更新:我现在相信其他应用程序可能正在使用与CAF的QCOMaudio。 请参阅链接 audio_extn_utils_send_audio_calibration 相同 和voice_get_incall_rec_snd_device在链接相同 我没有C / ++的知识。 我怎样才能知道是否可以从本地调用这些方法? 由于其他应用程序可以,一定有办法。 我一直在这个40多天的时间里挣扎,每天至less有5-6个小时。 我不确定这是否被允许,但我也乐意为正确的答案捐款。 我有一个使用VOICE_CALLaudio源的通话录音应用程序。 尽pipeASOP没有实施/强制执行,但大多数制造商已经实施了VOICE_CALL,使用VOICE_CALLaudio源的应用程序在许多设备上运行良好。 这是直到Android 6。 Google使用Android 6更改了此行为。现在打开VOICE_CALLaudio源需要android.permission.CAPTURE_AUDIO_OUTPUT,它只被授予系统应用程序。 这基本上停止了通话logging,或者它应该有。 那么,除了3个已经find解决这个限制的方法之外,它对我和其他200多个通话录音应用程序都有效。 我一直在用Android 6在许多不同的手机上试用这些应用程序,并发现了它们logging的某些特征。 他们都使用Android AudioRecord类并打开MICaudio源。 我也做; 但在我的应用程序中,我只从MIC获取audio,而不是另一方。 我发现,在开始录制之前或之后,他们正在发出某种系统调用。 查看下面的日志表单,即使使用MIClogging,也能成功loggingVOICE_CALL的应用程序之一。 它看起来像应用程序是如何pipe理混合/路由/stream/合并VOICE_CALLaudio源到MIC。 – D/audio_hw_primary: in_set_parameters: enter: kvpairs=input_source=1;routing=-2147483644 – D/PermissionCache: […]

拳击发生在C#

我试图收集在C#中发生拳击的所有情况: 将值types转换为System.Objecttypes: struct S { } object box = new S(); 将值types转换为System.ValueTypetypes: struct S { } System.ValueType box = new S(); 将枚举types的值转换为System.Enumtypes: enum E { A } System.Enum box = EA; 将值types转换为接口引用: interface I { } struct S : I { } I box = new S(); 在C#string连接中使用值types: char c = F(); string s1 = […]

为什么没有setter的属性没有被序列化

我有一个可序列化的类,我的类中的一个属性在getter中生成一个Guid 。 该属性没有实现setter,并在序列化过程中被忽略。 为什么是这样,我是否必须执行一个setter才能使我的资产序列化。 [Serializable] public class Example { [XmlAttribute("id")] public string Id { get { return Guid.NewGuid().ToString(); } } } 我试着实现一个空setter,它正确序列化。 [Serializable] public class Example { [XmlAttribute("id")] public string Id { get { return Guid.NewGuid().ToString(); } set {} } } 更新 : 你能指出我应该如何定义其值不会改变的值或值是否在内部生成?