我有一个包含字符串和字典的字符串数组.
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更快,但问题是我没有那么小的代码来对这两者进行基准测试.
有没有办法在不使用的情况下将字典和列表添加到列表中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会如何表现.
我有一个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/报告的部分内容
不知何故,我无法从 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
我有一个带有一些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.这就是我得到例外的地方.如果我通过单击按钮从我的视图中调用相同的方法,它可以工作.
我有一个简单的二维数组
// 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)
有什么办法可以做到这一点吗?