问题列表 - 第15684页

ExpandoObject的真正好处是什么?

添加到.NET 4 的ExpandoObject类允许您在运行时任意设置对象的属性.

使用a Dictionary<string, object>或者甚至是Hashtable有什么优势吗?据我所知,这只是一个哈希表,您可以使用稍微简洁的语法访问.

例如,为什么这样:

dynamic obj = new ExpandoObject();
obj.MyInt = 3;
obj.MyString = "Foo";
Console.WriteLine(obj.MyString);
Run Code Online (Sandbox Code Playgroud)

真的比以下更好,或者大不相同:

var obj = new Dictionary<string, object>();
obj["MyInt"] = 3;
obj["MyString"] = "Foo";

Console.WriteLine(obj["MyString"]);
Run Code Online (Sandbox Code Playgroud)

使用ExpandoObject而不是仅仅使用任意字典类型可以获得什么真正的优势,除了不明显你正在使用将在运行时确定的类型.

.net c# .net-4.0 c#-4.0

573
推荐指数
7
解决办法
12万
查看次数

避免链接到libstdc ++

我正在开发一个目前在Linux和uClibc中使用C的嵌入式项目.我们有兴趣将它转移到C++,但我不希望与libstdc ++中的链接相关的开销.我的印象是,如果我们不使用STL中的任何内容,例如iostream或vector,这是可能的.

如何在不链接到libstdc ++的情况下直接编译g ++?

c++ linux linker gcc libstdc++

15
推荐指数
2
解决办法
5334
查看次数

如何在我与"cat"连接的文件之间包含空行?

我想捕获目录中的所有文件,但在每个文件之间包含一些间隔.

unix

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

如何在django-sphinx下自动重建Sphinx索引?

我只是设置了django-sphinx,它工作得很漂亮.我现在能够搜索我的模型并获得惊人的结果.一个问题是我必须使用indexer命令手动构建索引.这意味着每次添加新内容时,我都必须手动命中命令行来重建搜索索引.这是不可接受的.

我可以创建一个自动运行索引器命令的cron作业,但这远非最佳.在cron再次运行之前,不会对新数据编制索引.此外,索引器将大多数时间不必要地运行,因为我的站点没有经常添加数据.

如何设置它,以便只要在可搜索的django模型中添加或修改数据,Sphinx索引就会自动重建?

python django search sphinx django-sphinx

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

这是一个糟糕的模式吗?(切换到/ foreach循环内部)

我发现自己编写的代码如下:

foreach($array as $key => $value) {
    switch($key) {
        case 'something':
            doSomething($value);
            break;
        case 'somethingelse':
            doSomethingElse($value);
            break;
    }
}
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法来解决这个问题?对我来说似乎很脏,但我可能只是在思考它.

我能想到的唯一另一种选择是每个键的if语句,这似乎没有任何好处.即:

if($array[0] == 'something') {
    doSomething($array[0]);
}
if($array[1] == 'somethingelse') {
    doSomethingElse($array[1]);
}
Run Code Online (Sandbox Code Playgroud)

(或类似的东西)

如果需要,我可以发布确切的代码,但这是发生的事情的大致轮廓.请批评,但请记住我在这里寻求帮助.所以,如果我做了一些非常错误的事情,那就指出来吧.

php switch-statement

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

如何解除Spinner弹出对话框时的回调?

我有一个Android Spinner,当用户从弹出对话框中选择一些内容时,我想收到一个回调.它似乎setOnItemClickListener()setOnItemSelectedListener()将是正确的使用方法,但是当我选择微调器中的一个项时,都不会被调用.

有没有正确的方法来做到这一点?

UPDATE

根据commonsware的建议,我做了以下操作,但我的onItemSelected()方法永远不会被调用:

    final Spinner spinner = (Spinner) findViewById(R.id.spinner);

    spinner.setAdapter( new ArrayAdapter<SettingValue>(getContext(), android.R.layout.simple_list_item_1, android.R.id.text1, setting.getSettingValues() ) );
    spinner.setOnItemSelectedListener( new OnItemSelectedListener() {

        public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
            Log.d("BOOGA");
            final SettingValue settingValue = (SettingValue)parent.getSelectedItem();
            final Editor edit = getContext().getSharedPreferences( PREFS_CONTEXT_NAME, Context.MODE_PRIVATE).edit();
            edit.putString(setting.name(), settingValue.name());
            edit.commit();
        }

        public void onNothingSelected(AdapterView<?> parent) {
            // do nothing
        }

    });
Run Code Online (Sandbox Code Playgroud)

android spinner

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

Rails基于EC2 AMI

我试图导航我的新EC2设置,并希望找到Rails的AMI设置.我一直遇到麻烦.基本上,我正在寻找这样的东西:

* Apache 2.2
* Ruby Enterprise Edtion (REE)
* Passenger
* MySql Installed and configured with Ruby
Run Code Online (Sandbox Code Playgroud)

任何人都有一个AMI,他们可以指向我的基本轨道堆栈?

移动答案在这里:

感谢您的回复/想法.我见过大多数这些选择.我想我会选择一个干净的Linux AMI,然后使用这样的东西自己定制它:

http://www.rubyinside.com/how-to-install-a-ruby-18-stack-on-ubuntu-810-from-scratch-1566.html

此外,是的,我计划在单个EC2实例上运行Rails作为VPS的替代方案.如果我使用预留的实例,我基本上可以获得一台专用机器和1.7GB的RAM,每月约22美元.这击败了我发现的任何VPS.还有其他成本和负担,但我会继续调查是否有可能.

谢谢.

ruby-on-rails amazon-ec2 amazon-web-services

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

git:如何查看下一次推送发送的更改

我希望看到下一个push会做的所有更改的列表.git status似乎知道我已经做了本地提交......我怎么能告诉我这些是什么?我一直在做的是这样的:

% git status
# On branch master
# Your branch is ahead of 'origin/master' by 7 commits.
...
Run Code Online (Sandbox Code Playgroud)

好吧,它说了7次提交.那么我呢

% git diff --name-status HEAD~7
M       bin/bench
M       scala/001/02.scala
M       scala/007/01.scala
A       scala/010/01.scala
A       scala/016/01.scala
A       scala/020/01.scala
Run Code Online (Sandbox Code Playgroud)

有没有更简洁的方法来做到这一点?我习惯于svn"svn diff"基本上会这样做,因为没有staged/unstaged的概念.

git

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

jquery批量ajax请求的正确方法

我有用户选择的行列表,我想逐个删除它们,并在最后显示结果.

很明显,如果我只做简单的循环并且每次调用ajax函数,但是我如何循环并检查哪一个成功,哪一个失败以及何时完成?

你会怎么做?什么是批量编辑/删除的正确方法?

ajax jquery loops response

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

C#对象引用

我不知道你怎么称呼它,但我怎么会改变一个对象的字段/使用方法,用我想要调用的对象,一个字段?

c# reference object

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