问题列表 - 第15739页

循环浏览SortedList - 为什么这会更快?

以下示例中的List1是SortedList(Of MyClass)并包含251个成员.

前两个代码块在15.5秒内执行.

 For cnt As Integer = 1 To 1000000
        For Each TempDE In List1
            Dim F As String = TempDE.Key
            TempDE.Value.x1 = 444
        Next
    Next
Run Code Online (Sandbox Code Playgroud)

 

    For cnt As Integer = 1 To 1000000
        For Each TempDE As KeyValuePair(Of String, phatob) In List2
            Dim F As String = TempDE.Key
            TempDE.Value.x1 = 444
        Next
    Next
Run Code Online (Sandbox Code Playgroud)

这个在5.6秒内执行.

    For cnt As Integer = 0 To 999999
        For cnt2 As Integer = 0 To 250
            Dim F As String = List1.Keys(cnt2)
            List1.Values(cnt2).x1 …
Run Code Online (Sandbox Code Playgroud)

.net vb.net containers sortedlist

5
推荐指数
1
解决办法
5001
查看次数

C:const vs no const ..如何编译?

我有一个简单的C函数,我声明为:

int strLen(const char* str_)
{
  str_ = (char*) 0;
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

编译时我感到非常惊讶!这是为什么?

虽然这个onedoes没有编译(这是有道理的):

int str(const int i_)
{
  i_ = 0;
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

c const

2
推荐指数
3
解决办法
435
查看次数

什么是价值等级,什么是C#中的参考类?

a value classreference classC#的定义是什么?

这与a value typereference type?有什么不同?

我问这个问题是因为我在MCTS Self-Paced Training Kit(考试70-536)中读到了这个问题.第1章,第1课,课程回顾4:

您需要创建一个仅包含值类型的简单类或结构.您必须创建类或结构,以使其尽可能高效地运行.您必须能够将类或结构传递给过程,而无需担心过程将对其进行修改.您应该创建以下哪项?

参考类

B参考结构

C值类

D值结构

正确答案:D

不正确:你可以创建一个引用类; 但是,它可以在传递给程序时进行修改.

B不正确:您无法创建参考结构.

C不正确:您可以创建一个值类; 但是,结构往往更有效率.

D正确:价值结构通常是最有效的.

.net c# oop terminology

6
推荐指数
1
解决办法
4580
查看次数

模型中的一个或多个参数使用Ruby on Rails查找条件

假设我有'Car'模型和控制器'cars',以及方法'display'.

我有多个属性,如:

in_production,year,make

我可以轻松地做这样的事情来找到符合所有传递参数的汽车:

def display
  @cars = Car.find(:all, :conditions => { :in_production => #{params[:in_production]}, :year => #{params[:year]}, :make => #{params[:make]} })`
end
Run Code Online (Sandbox Code Playgroud)

所以我正在做的是在菜单中编写硬链接,所以如果我想找到2009年生产的所有日产汽车,我会将这些值作为参数传递给我的链接.

在另一页上,我想展示2009年的每辆车都是in_production,只有两辆车而不是三辆车.什么是动态改变条件的最佳方式,以便它可以使用一个,两个或三个参数,同时使用相同的动作?

有任何想法吗?

ruby ruby-on-rails

4
推荐指数
1
解决办法
7309
查看次数

是否可以避免在此示例中使用类型检查?

对不起这个糟糕的头衔,想不出一个简洁的方式把这个..

我正在考虑拥有一个对象列表,这些对象都是特定的接口.然后,这些对象中的每一个都可以实现其他接口,但是不能保证哪个对象将实现哪个.但是,在单个循环中,我希望能够调用其进一步子类型的方法.

即3个接口:

public interface IAnimal { ... }
public interface IEggLayer { public Egg layEgg(); }
public interface IMammal { public void sweat(); }
Run Code Online (Sandbox Code Playgroud)

然后将其存储为

private List<IAnimal> animals= new ArrayList<IAnimal>();
Run Code Online (Sandbox Code Playgroud)

因此,添加到列表中的实例也可能是类型,IEggLayer或者IMammal具有完全不相关的方法.

我最初的本能就是这样做

for(IAnimal animal : animals) {
  if(animal instanceof IEggLayer) {
    egg = ((IEggLayer)animal).layEgg();
  }
  if(animal instance of IMammal) {
    ((IMammal)animal).sweat();
  }
}
Run Code Online (Sandbox Code Playgroud)

但我总是被告知类型检查是代码应该真正被重构的标志.

由于单个对象可能同时执行[platypus],意味着单个doFunction()不适合这种情况,在这种情况下是否可以避免使用类型检查,或者这是一个类型检查是被归类为可接受的?
是否有可能迎合这种设计模式?

我为这个人为的例子道歉...
[忽略任何语法错误,请 - 它只是为了类似Java的伪代码]

我已经为EggLayer使用添加了左值,以表明有时返回类型很重要

java interface typechecking

5
推荐指数
2
解决办法
929
查看次数

如何使用JPQL获取数据库时间?

使用本机SQL我使用如下语句获取数据库时间:

SELECT CURRENT_TIMESTAMP
Run Code Online (Sandbox Code Playgroud)

使用JPQL我得到相同的结果:

SELECT CURRENT_TIMESTAMP
FROM Customer c
WHERE c.id=1
Run Code Online (Sandbox Code Playgroud)

有没有办法摆脱最后两行?

谢谢,

java orm hibernate jpa jpql

11
推荐指数
1
解决办法
2万
查看次数

如何在Java中将字符串发送到char数组?

String product = Integer.toString(w);

char[] original = String.toCharArray(product);
Run Code Online (Sandbox Code Playgroud)

这是我到目前为止的代码.错误说我不能在String上使用toCharArray,但我查看了文档,这是一个列出的方法,所以我有点卡住了.

java

0
推荐指数
1
解决办法
262
查看次数

无法获取对ConfigurationManager的引用

我根本无法让Visual Studio 2005找到System.Configuration.ConfigurationManager类.这是代码:

using System.Configuration;

...

x = ConfigurationSettings.AppSettings["MySetting"]
// The name 'ConfigurationManager' does not exist in the current context

x = System.Configuration.ConfigurationManager.AppSettings["MySetting"]
// The type or namespace name 'ConfigurationManager' does not exist in the
// namespace 'System.Configuration' (are you missing an assembly reference?)
Run Code Online (Sandbox Code Playgroud)

我绝对,积极有一个参考System.Configuration项目,它肯定是在正确的项目.DLL版本为2.0.0.0,运行时版本为2.0.50727 - 与其他版本完全相同.我试过删除引用并重新添加它.奇怪的是,当它显示在项目的References'文件夹'中时,它显示为'System.configuration' - 带有小写'c'.

Visual Studio可以找到System.Configuration.ConfigurationSettings类,除了它已过时的警告之外没有任何问题.该项目是一个Web项目,代码位于WebControl的代码隐藏中.

有什么想法在这里发生了什么?

.net configurationmanager visual-studio-2005

3
推荐指数
1
解决办法
1万
查看次数

将单词插入字典中正确位置的最快方法

目前,我只是将单词插入到字典(ArrayList<String>)中,然后对字典进行排序,如下所示:

dictionary.add(newWord);
Collections.sort(dictionary, new Comparator<String>(){
    public int compare(String s1, String s2) {
        return s1.compareToIgnoreCase(s2);
    }        
});
Run Code Online (Sandbox Code Playgroud)

我试图确定这种方式是否真的是最好的.当然,另一种方法是在字典中找到正确的点,然后在那里插入单词.问题是,我无法想出一种有效/可靠的方法来在字典中找到这一点.我脑子里浮现出一些想法,但把纸笔放在纸上真是太棘手了.

如果您对如何操作有所了解,请不要发布任何大量的代码答案.这是作业的一部分,所以你可以告诉我你是怎么做的,而不是张贴代码吗?(也许是伪代码?)

谢谢.

java dictionary variable-assignment

1
推荐指数
1
解决办法
834
查看次数

如何在Unix中将目录读取为文件?

我知道目录只是unix中的一个文件,其中包含inode编号和文件名.我该如何看待这个?我不能在目录上使用cat或更少,并在vi中打开它只显示文件列表...没有inode编号.

unix inode dir

1
推荐指数
2
解决办法
2221
查看次数