Tag: C#的

如何将Int转换为C#中的string而不使用ToString()?

将下面的int参数转换为一个string,而不使用任何本地的toStringfunction。 public string integerToString(int integerPassedIn){ //Your code here } 因为一切都从Objectinheritance,而Object有一个ToString()方法,所以如何将一个int转换为一个string而不使用原生的ToString()方法? string连接的问题是,它会调用链上的ToString()直到它碰到一个或点击Object类。 如何在不使用ToString()情况下将整数转换为C#中的string?

任何简单或简单的方法来debuggingAndroid NDK代码?

我正在寻找一种方法来使用Eclipse轻松debuggingAndroid NDK应用程序中的C代码。 我已经阅读了使用gdb或类似的东西来debugging应用程序的方法,但是我想要的是以某种方式将消息推送到Eclipse的方法。 我正在寻找一个解决scheme,就像在C中使用打印函数一样简单,并在DDMS日志或类似的东西中看到它。 有没有人有这样的经验?

如何在WebApi中添加和获取Header值

我需要在WebApi中创build一个POST方法,所以我可以从应用程序发送数据到WebApi方法。 我无法获得标题值。 在这里,我在应用程序中添加了标题值: using (var client = new WebClient()) { // Set the header so it knows we are sending JSON. client.Headers[HttpRequestHeader.ContentType] = "application/json"; client.Headers.Add("Custom", "sample"); // Make the request var response = client.UploadString(url, jsonObj); } 遵循WebApi发布方法: public string Postsam([FromBody]object jsonData) { HttpRequestMessage re = new HttpRequestMessage(); var headers = re.Headers; if (headers.Contains("Custom")) { string […]

快速生成每个比特具有0或1的概率的伪随机比特的方法

通常,一个随机数发生器返回一个位stream,在每个位置观察0或1的概率是相等的(即50%)。 我们称之为一个公正的PRNG。 我需要生成一串具有以下属性的伪随机比特:在每个位置上看到1的概率是p(即看到0的概率是1-p)。 参数p是0到1之间的实数; 在我的问题中它恰好有0.5%的分辨率,即它可以取值0%,0.5%,1%,1.5%,…,99.5%,100%。 请注意,p是一个概率,而不是一个确切的分数。 在n位数据stream中设置为1的实际位数必须遵循二项式分布B(n,p)。 有一种天真的方法,可以使用无偏PRNG来生成每个位的值(伪代码): generate_biased_stream(n, p): result = [] for i in 1 to n: if random_uniform(0, 1) < p: result.append(1) else: result.append(0) return result 这样的实现比产生无偏stream的实现要慢得多,因为它每位调用一次随机数生成器函数; 而无偏stream生成器每个字大小调用一次(例如,一次调用就可以产生32或64个随机位)。 我想要一个更快的实现,即使它稍微牺牲随机性。 想到一个想法是预先计算一个查找表:对于p的200个可能的值中的每一个,使用较慢的algorithm计算C 8位值并将它们保存在表中。 然后快速algorithm将随机select其中的一个来产生8个偏斜位。 在包络计算的后面,看看需要多less内存:C应该至less为256(可能的8位值的数量),可能更多是为了避免采样效应; 假设1024.也许这个数字应该取决于p,但是让我们保持简单,并说平均值是1024.因为有200个值=>总的内存使用量是200 KB。 这并不坏,可能适合二级caching(256 KB)。 我仍然需要评估它是否存在引入偏差的抽样效应,在这种情况下,C必须增加。 这个解决scheme的不足之处在于,它只能一次产生8位数据,即使有很多工作也是如此,而一个无偏PRNG只需要一些算术指令就可以产生64个数据。 我想知道是否有一个更快的方法,基于位操作,而不是查找表。 例如直接修改随机数生成代码,为每一位引入一个偏差。 这将达到与无偏见的PRNG相同的性能。 3月5日编辑 谢谢大家的build议,我有很多有趣的想法和build议。 这里是最重要的: 更改问题要求,以便p的分辨率为1/256而不是1/200。 这允许更有效地使用比特,并且还提供了更多优化的机会。 我想我可以做这个改变。 使用算术编码来高效地消耗来自无偏置发生器的比特。 随着上述分辨率的变化,这变得更容易。 有less数人认为PRNG速度非常快,因此使用算术编码可能会导致代码变慢,这是由于引入的开销。 相反,我应该总是消耗最坏情况的位数并优化代码。 […]

我怎样才能安全地将一个字节数组转换成一个string,并返回?

我不关心编码和东西,只要我回到完全相同的字节数组。 所以总结一下:如何将一个字节数组转换成一个string,然后将该string转换回到我开始使用的同一个字节数组中?

select文件夹对话框WPF

我开发了一个WPF4应用程序,并在我的应用程序,我需要让用户select一个文件夹,应用程序将存储的东西(文件,生成的报告等)。 我的要求: 能够查看标准文件夹树 能够select一个文件夹 WPF外观和感觉,这个对话框必须看起来像为Windows Vista / 7而不是Windows 2000甚至Win9xdevise的现代应用程序的一部分。 据我所知,直到2010年(.Net 4.0)将不会有一个标准的文件夹对话框,但也许有一些版本4.0的变化? 或者所有剩下要做的是使用老派的WinForms对话框? 如果这是我需要的唯一方法,那我怎样才能使它更接近Vista / 7风格而不是Win9x? 在一些论坛上,我看到了这样的对话框的实现,但是在Windows 95上有着难看的图标。它看起来不太好看。

使用Task.Factory.StartNew传递一个方法参数

我有以下代码: var task = Task.Factory.StartNew(CheckFiles, cancelCheckFile.Token, TaskCreationOptions.LongRunning, TaskScheduler.Default); private void CheckFiles() { //Do stuff } 我现在想修改CheckFiles来接受整数和一个BlockingCollection引用 private void CheckFiles(int InputID, BlockingCollection<string> BlockingDataCollection) { //Do stuff } 我似乎无法find像上面那样开始执行此任务的方法。 你能帮我吗? 谢谢

成员名称不能与它们的封闭types相同C#

下面的代码是在C#中,我正在使用Visual Studio 2010。 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows; namespace FrontEnd { class Flow { long i; private int x,y; public int X { get;set; } public int Y { get;set; } private void Flow() { X = x; Y = y; } public void NaturalNumbers(int x, int y) { for […]

在C ++中定义的WIN32和_WIN32有什么区别

我知道WIN32显然是用win32编译的,但是_win32需要什么呢?

在条件上更新variables的最快方法是什么?

我有一个指针, ptr和一个条件cond 。 如果cond为true ,则需要尽可能快的方法来重置ptr如果cond为true ,则保持ptr不变。 目前的实现是平凡的: void reset_if_true(void*& ptr, bool cond) { if (cond) ptr = nullptr; } 我知道上面的代码的性能是好的,我不能指望一个主要的性能提升优化它。 然而,这个代码被称为每秒数百万次,每个小纳秒节省相关。 我在考虑摆脱这个分支的东西,例如: void* p[] = { ptr, nullptr }; ptr = p[cond]; 但我不确定这是继续进行的最好方法。