在.NET 3.5或4.0中,我可以使用它(只是一个例子):
var d = ("D").ToArray();
Run Code Online (Sandbox Code Playgroud)
但是这在2.0中不起作用,因为没有ToArray()方法.如何将此代码"转换"为.NET 2.0?我正在使用WinForms.
我一直在玩BlockingCollection类,我想知道为什么ToArray()方法是一个O(n)操作.来自Java背景,ArrayList的ToArray()方法在O(1)中运行,因为它只返回它使用的内部数组(elementData).那么为什么在世界上他们遍历所有项目,并在IEnumerable.ToArray方法中创建一个新的数组,当他们可以覆盖它并返回集合使用的内部数组?
使用该.ToArray()函数时,是否需要隐式定义数组的大小,以便保存您要转换的列表中的字符?
String [] array = List.ToArray();
Run Code Online (Sandbox Code Playgroud)
我尝试这样做是因为我需要使用.GetValue()数组的能力,但是,数组保持大小为1而不保留列表中的材料.我试图使用.ToArray()不正确吗?
colAndDelimiter = new List<string>();
colAndDelimiter.Add(text);
String [] cd = colAndDelimiter.ToArray();
Run Code Online (Sandbox Code Playgroud)
这是我对阵列产生影响的所有代码.当我Console.WriteLine()在列表中它给了我整个文本.我可能会对列表如何工作感到困惑.它是否将所有内容存储为单个项目,这就是为什么数组只显示一个位置?
说我有以下内容:
Class myclass
{
public string stra ="", strb = ""
myclass(String a, String b){stra=a;strb=b}
}
//then in the app I want to do:
myclass myclassinst1 = new myclass("blah","xxxx");
myclass myclassinst2 = new myclass("blah2","yyyy");
myclass myclassinst3 = new myclass("blah3","zzzz");
list <myclass> mylist = new ArrayList<myclass>();
mylist.add(myclassinst1 );
mylist.add(myclassinst2 );
mylist.add(myclassinst3 );
//How would I then convert that to a String[] Array of all the stra elements without using a loop.
//eg:
String[] strarr_a = mylist.toarray(myclass.stra);
String[] strarr_b = mylist.toarray(myclass.strb);
//instead …Run Code Online (Sandbox Code Playgroud) 在我的编程中,我有一个挑战..
Dictionary<string,int> dic=new Dictionary<string,int>();
Run Code Online (Sandbox Code Playgroud)
现在我需要将这些字典"值"转换为"双"数组.
我试过这样的,
string[] strn=dic.Values.ToArray();
Run Code Online (Sandbox Code Playgroud)
但没有工作.任何人都可以解决我的问题.提前致谢.
这几乎无疑是一个愚蠢的问题.在我的辩护中我生病了.无论如何.
我有一个内存列表中的对象.我使用下面的表达式从我的对象列表中提取出我感兴趣的字符串:
var myStrings = myListOfObjects.Select(r => r.MyString);
Run Code Online (Sandbox Code Playgroud)
这为我提供了一个IEnumerable字符串.myStrings稍后会在我的代码中重复使用多次.我想知道的是,在使用它之前执行ToArray或ToList(即"贪婪"运算符)是否有任何性能优势?(所以我的操作将直接针对数组/列表.)
对于它的价值,myStrings在使用时将被完整地重复使用.
我需要帮助来消除toArray()zend框架中的致命错误.
致命错误:在非对象上调用成员函数toArray()
我在我的控制器中使用以下代码
$obj = new Admin_Model_UserMapper();
$where = array('id = ?'=>$decryptId);
$data = $obj->fetchAll($where);
// $currentData = $data->current();
$dataArr = $data->toArray();
$form = new Admin_Form_UserForm();
$form->setAction('edit-user');
$form->populate($dataArr);
Run Code Online (Sandbox Code Playgroud)
当我使用toArray()或时,我在两种情况下都会出现致命错误current().
我已经使用了以下代码,但没有得到任何解决方案,它产生相同的错误:
$db = Zend_Db_Table::getDefaultAdapter();
$select = $db->select()->from('user')->where('id= ?',$decryptId);
$stmt = $select->query();
$result = $stmt->fetchAll();
if(count($result) > 0){
$dataArr = $result->toArray();
}
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个问题?
我正在尝试Java HashSet类及其toArray()方法。下面是我想出的代码。编译器没有显示任何错误,但是当我运行代码时,IDE输出错误消息:
Exception in thread "main" java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to [Ljava.lang.Integer;
at JTOCollection.TheCollectionInterface.main(TheCollectionInterface.java:26)
Java Result: 1
Run Code Online (Sandbox Code Playgroud)
由于我的经验不足,我无法完全理解错误消息背后的全部原因,有人可以向我解释一下吗?
Set<Integer> set1 = new HashSet<>();
set1.add(1);
set1.add(2);
set1.add(3);
set1.add(2);
Integer[] intArray = (Integer[]) set1.toArray();
for(Integer i : intArray){
System.out.println(i);
}
Run Code Online (Sandbox Code Playgroud) 我有一些像这样的代码:
String[] colors = {"black", "blue", "yellow", "red", "pink", "green", "cyan"};
String[] alphabets = {"A", "B", "C", "D", "E", "F", "G", "H", "I"};
LinkedList<String> links = new LinkedList<>(Arrays.asList(colors));
System.out.println(links);
colors = links.toArray(alphabets);
System.out.println(Arrays.asList(colors));
Run Code Online (Sandbox Code Playgroud)
它的输出是:
[black, blue, yellow, red, pink, green, cyan]
[black, blue, yellow, red, pink, green, cyan, null, I]
Run Code Online (Sandbox Code Playgroud)
第二个输出行中的null是什么?为什么?
如何在 C# 中将 JSON 反序列化为数组,我想创建具有 JSON 属性的图像。我当前的JSON 文件看起来像这样......
{
"test":[
{
"url":"150.png",
"width":"300",
"height":"300"
},
{
"url":"150.png",
"width":"300",
"height":"300"
},
{
"url":"150.png",
"width":"300",
"height":"300"
}
]
}
Run Code Online (Sandbox Code Playgroud)
我的 Form1 有一个 Picture1,我试图用 Newtonsoft.json 反序列化,但我不知道如何将我的 JSON 对象反序列化为数组。(我是开发初学者)
这是我当前的 Form1 代码
using System;
using System.Windows.Forms;
using System.Collections.Generic;
using System.Globalization;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using System.IO;
using System.Linq;
using System.Drawing;
namespace viewer_mvc
{
public partial class Index : Form
{
string url;
int width, height;
public Index()
{
InitializeComponent();
}
private void …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 toArray() 将 ArrayList 转换为 Array,但它返回一个 object[] 而不是 double[]。见下文:
double [] arr = arrList.toArray(new Double[arrList.size()]);
Run Code Online (Sandbox Code Playgroud)
我收到不兼容的类型错误。
这是 arrList 包含的内容:
I/System.out: [0.0, 2.455430030822754, 1.834529995918274, 0.7368429899215698, -0.5264459848403931, -1.5101100206375122, -1.8526500463485718, -1.6131700277328491, -0.9388419985771179, 0.053711701184511185, 0.35541099309921265, -0.18560799956321716, -0.884518027305603, -1.4304900169372559, -1.5486400127410889, -0.943471014499, 0.0]
Run Code Online (Sandbox Code Playgroud)
这是它的获得方式:
private void rec(SensorEvent event) {
double x = event.values[0];
arrList.add(x);
}
Run Code Online (Sandbox Code Playgroud)
我试过不调整数组大小(即使用 new Double[0]),虽然我认为这不是问题,但这也不起作用。
我在网上寻找了类似的问题,我发现的都是字符串示例,我认为 Double 可能是问题所在?不太确定。
在这方面很新,所以很抱歉,如果很明显。
我如何转换IEnumerable<int>为int[]没有ToArray()?我需要一种比它更快的方法或功能ToArray().我有一个很大的INT大规模的状态和两个小块状的左和右的使用方法的采取和跳过.码:
int[] left = state.Take(pivot).ToArray();
int[] right = state.Skip(pivot).ToArray();
Run Code Online (Sandbox Code Playgroud)
枢轴 - 分裂点.
toarray ×12
c# ×6
java ×4
ienumerable ×2
.net ×1
arraylist ×1
arrays ×1
big-o ×1
casting ×1
collections ×1
converters ×1
dictionary ×1
double ×1
int ×1
json ×1
linq ×1
list ×1
set ×1
tolist ×1
var ×1