Tag: c#

C#相当于Java的继续?

应该简单快捷:我想要一个与以下Java代码等效的C#: orig: for(String a : foo) { for (String b : bar) { if (b.equals(“buzz”)) { continue orig; } } // other code comes here… } 编辑 :好吧,似乎没有这样的等价物(嘿 – Jon Skeet自己说没有,这就解决了;))。 所以对我来说(在它的Java等价物中)的“解决方案”是: for(String a : foo) { bool foundBuzz = false; for (String b : bar) { if (b.equals(“buzz”)) { foundBuzz = true; break; } […]

从Google网络历史记录中检索旧搜索

我想要检索旧的Google搜索,这些搜索是我几年/几个月后所做的,并且存在于Google网络历史记录中。 我怎么能以编程方式检索它们呢? https://www.google.com/history/?output=rss仅提供最近的Google搜索,但不是全部搜索。 还有这个问题: 如何检索我的Google搜索记录? 没有为我的问题提供任何答案!

将音频转换为文本

我只是想知道在Java或C#中是否有任何库或外部库的构建,它允许我获取音频文件并解析它并从中提取文本。 我需要申请这样做,但我不知道从哪里可以开始。

最快的算法来检查一个数字是否是pandigital?

Pandigital数字是一个包含数字1..number长度的数字。 例如123,4312和967412385。 我已经解决了许多Project Euler问题,但Pandigital问题总是超过一分钟规则。 这是我的pandigitalfunction: private boolean isPandigital(int n){ Set set= new TreeSet(); String string = n+””; for (char c:string.toCharArray()){ if (c==’0′) return false; set.add(c); } return set.size()==string.length(); } 创建自己的函数并使用此方法对其进行测试 int pans=0; for (int i=123456789;i<=123987654;i++){ if (isPandigital(i)){ pans++; } } 使用这个循环,你应该得到720个pandigital数字。 我的平均时间是500毫秒。 我正在使用Java,但问题是对任何语言开放。 UPDATE @andra答案到目前为止是最好的时间,但是@Sani Huttunen的回答激发了我添加一个新的算法,它几乎与@andras相同。

如何在C#和Java中生成相同的MD5 Hashcode?

我有一个在C#中生成MD5哈希的函数,如下所示: MD5 md5 = new MD5CryptoServiceProvider(); byte[] result = md5.ComputeHash(data); StringBuilder sb = new StringBuilder(); for (int i = 0; i < result.Length; i++) { sb.Append(result[i].ToString("X2")); } return sb.ToString(); 在java中,我的函数如下所示: MessageDigest m = MessageDigest.getInstance(“MD5”); m.update(bytes,0,bytes.length); String hashcode = new BigInteger(1,m.digest()).toString(16); return hashcode; 当C#代码生成:“02945C9171FBFEF0296D22B0607D522D”时,java代码生成:“5a700e63fa29a8eae77ebe0443d59239”。 有没有办法为同一个bytearray生成相同的md5哈希? 一经请求: 这是java中的testcode: File file = new File(System.getProperty(“user.dir”) + “/HashCodeTest.flv”); byte[] bytes […]

匿名接口实现

我读过’ C#匿名实现接口(或抽象类) ‘线程,用于匿名实现接口。 但我想知道使用.NET 2.0(NO LINQ)使用委托或任何类似的方法是否也可以。 我从JAVA了解到以下可能: MyClass m = MyMethod(new MyInterface() { @override public void doSomething() {…} } (我希望我记得很清楚,就在不久之前我使用过JAVA,但我想这是类似的东西)。 每当方法需要一个接口实例并且只调用一次时,这可能会有所帮助,因此不需要为这种方法创建一个新类。

C#相当于创建实现接口的匿名类

我最近开始使用C#,我想找到一个等效的方法。 我不知道这叫什么,所以我只会通过代码向您展示。 使用Java,我能够创建如下界面: public interface Event { public void execute(); } 并在方法的参数中传递此接口,如下所示: public class TestEvent { ArrayList eventList = new ArrayList(); public void addEvent(Event event){ eventList.add(event); } public void simulateEvent(){ addEvent(new Event() { public void execute(){ //functionality } } ); } public void processEvents(){ for(Event event : eventList) eventList.execute(); } } 编辑 :我的问题是来自TestEvent类的simulatEvent方法,如果C#可以执行这样的操作。 我想知道是否有办法用C#做一些类似的事情(在simulateEvent方法中实例化接口)以及实际调用它的方法。 谢谢!

c#中的Java内部类

我有以下Java代码: public class A { private int var_a = 666; public A() { B b = new B(); b.method123(); System.out.println(b.var_b); } public class B { private int var_b = 999; public void method123() { System.out.println(A.this.var_a); } } } 产生666和999.现在,我已经尝试在c#中设置类似的代码,但似乎无法实现相同的function。 如果是这种情况,在c#编程时通常如何实现类似的效果?

x.toString()和x +“”之间的区别

回到大学我的一个教授。 教我们只做x + “”作为从基本类型到字符串的快速转换。 我不记得我在一些Java和C ++课程中使用过哪一堂课(我现在还没有使用过一段时间),但我现在在C#/ .Net中使用它,这就是我主要开发的内容在最近。 使用.toString() over +””对于int,decimal,float等基本类型是否有优势? 什么情况.toString()会更好? 注意:我也被显示.toString() ,教授刚推荐+””因为它更短,我从那时起就完成了,而没有质疑它。

Java等效的.NET的ManualResetEvent和WaitHandle

我想知道Java是否提供了类似于.NET的ManualResetEvent和WaitHandle类,因为我想编写阻止给定超时的代码,除非触发事件。 WaitHandle和ManualResetEvent的.NET类为我提供了一个很好的,无障碍的接口,据我所知也是线程安全的,所以Java提供了什么?