小编Ger*_*ero的帖子

使用int和string将数组转换为字典c#

我有一个包含字符串和字典的字符串数组.

String [] str_array;
Dictionary<int, string> dict = new Dictionary<int, string>();

dict = str_array.toDictionary();
Run Code Online (Sandbox Code Playgroud)

如何使用int和String将数组放入字典?我已经看过bool所有这些例子,但我需要int和string.

int(key)只是字典(dict.count)的实际位置,值将是该位置的数组值.

编辑:thx到所有答案,但我不想迭代数组.我假设使用array.toDictionary,性能优于迭代数组,只是将数组的值赋给字典.数组可能有5k个元素.

edit2:原因是我必须将字典传递给方法......需要它.我所有的值都在一个简单的数组中.

edit3:最重要的是性能.也许迭代数组并为dict赋值比array.toDictionary更快,但问题是我没有那么小的代码来对这两者进行基准测试.

c# arrays dictionary

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

如何将List和Dictionary作为元素添加到List中

有没有办法在不使用的情况下将字典和列表添加到列表中List<Object>

list.add(someList);
list.add(someDict);
Run Code Online (Sandbox Code Playgroud)

编辑:为什么我需要它?那是我的第一个想法^^.因为我收到那种物品,我"应该"使用它们.我需要密钥来检查特定密钥的含义.

我想这就是结构:

List<String> list1 = new List<String>();
Dictionary<String,String> dict1= new Dictionary<String,String>();

list.add(list1);
list.add(dict1);
Run Code Online (Sandbox Code Playgroud)

EDIT2:迭代时它必须具有令人敬畏的性能!我不确定Object会如何表现.

c# list

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

将数据从多个线程发送回主线程的最佳方法是什么?

我有一个mainthread,我确实创建了另一个n线程.每个n线程都填充了一个List<String>.当所有线程都完成后,它们会被连接起来,我希望所有那些n线程List都在主线程中的List<List<String>>BUT中.主线程应该能够对此进行操作List<List<String>>.每个n线程贡献了一个List<String>.

我有c#.NET 3.5,我想避免一个 static List<List<String>>

            Thread t = new Thread(someObjectForThreading.goPopulateList);
            list_threads.Add(t);
            list_threads.last().start()
Run Code Online (Sandbox Code Playgroud)

list_threads中的所有线程都会继续并填充它们的List,当它们完成时我希望有类似的东西

 //this = mainThread
 this.doSomethingWith(List<List<String>>)
Run Code Online (Sandbox Code Playgroud)

编辑:嗯,没有一个"标准概念"如何解决这样的任务?许多线程在列表上运行,当所有线程都加入时,mainthread可以继续在列表上运行.

EDIT2:List<List<String>> listOfLists一定不能是静态的.它可以public or private.首先,我需要n线程来操作(并锁定)listOfLists,插入它们的List,并且在完成插入列表的所有n线程之后,我将加入线程并且mainthread可以继续使用businesslogic并在listOfLists

我想我会重新阅读http://www.albahari.com/threading/报告的部分内容

c# multithreading

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

如何使用 GET /gists/:id 从 github 获取单个要点

不知何故,我无法从 github 获得任何要点。

可以说我想得到以下要点:https ://gist.github.com/jrm2k6/6637633

只需复制并粘贴到浏览器的 URL 字段中即可。

https://api.github.com/users/jrm2k6可以获取 json 格式的用户信息。

我可以将https://api.github.com/users/jrm2k6/gists来自该用户的所有公共要点以 json 形式列出。

但是我如何获得GET /gists/:idid = 6637633 的特定要点,就像 api 文档中所描述的那样:http://developer.github.com/v3/gists/#get-a-single-gist

我应该https://api.github.com/users/jrm2k6/gists/6637633收到 json 形式的要点内容,但我收到一个错误

{
  "message": "Not Found",
  "documentation_url": "http://developer.github.com/v3"
}
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

解决方案:您不需要 /users/:user。在职的:https://api.github.com/gists/6637633

github github-api

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

如何从customAdapter类更新活动?

我有一个带有一些textview和listview的用户界面.如果CustomAdapter类中出现特定的内容,我想更新我的textviews.我的CustomAdapter类中的一个事件将触发MyActivity类的更改.

listview从json获取数据,该json是从服务器获取的.现在假设json只包含数字,这些数字在listview中是监听的.工作良好.我计算了最大数量,但是我无法更新我的textview,它会显示最大数量.我得到了NullPointerException.如何保留该对象引用?

UserArrayAdapter.java

public View getView(final int position, final View convertView, final ViewGroup parent) {
        return displayStuff(dev, position, convertView, parent);        
    }
Run Code Online (Sandbox Code Playgroud)

电话

private View displayStuff(LeDevice dev, int position, View convertView, final ViewGroup parent) {
  if(maxDevice ==null){
       callMethodInMainActivity.java to update a textview()
    }
}
Run Code Online (Sandbox Code Playgroud)

切换到MainActivity.java

Textview tv_field;
public void callMethodInMainActivity.java to update a textview(){
  tv_field = (TextView)findViewById(R.id.tv_maxNumber);

            tv_field.setText(42); //!!NullPointer!!
}
Run Code Online (Sandbox Code Playgroud)

我从UserArrayAdapter调用MainActivity中的方法,并想访问tv_field.这就是我得到例外的地方.如果我通过单击按钮从我的视图中调用相同的方法,它可以工作.

android android-adapter android-activity

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

从字符串初始化java int 2d数组

我有一个简单的二维数组

// Creating and Initializing 2D array
        int a[][] = {{0,1},{2,3},{4,5}};
        for(int i=0; i<3; i++) {
            for(int j=0; j<2; j++) {
                System.out.print(a[i][j]+" ");
            }
            System.out.println();
        }
Run Code Online (Sandbox Code Playgroud)

一切正常。但是,当内容是动态的并且来自变量时,如何初始化数组呢?

String arrContent = "{{0,1},{2,3},{4,5}}"; //actually a method readContentFromFile(); will deliver the content
int a[][] = arrContent;
Run Code Online (Sandbox Code Playgroud)

有什么办法可以做到这一点吗?

java arrays multidimensional-array

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