问题列表 - 第18258页

InvalidCastOperation异常 - 找不到什么错误

我有以下两种方法,最后一种抛出InvalidCastOperationException,我看不出有什么问题.

       public static ArrayList GetEmployeesArrayList()
       {
            ArrayList al = new ArrayList();

           // do some work here...
            return (al);

        }

        public static Employee[] GetEmployeeArray()
        {
            return ((Employee[])GetEmployeesArrayList().ToArray());  <-- Throws invalid cast exception (Cannot cast Employee[] from Object...
        }
Run Code Online (Sandbox Code Playgroud)

c# casting

0
推荐指数
2
解决办法
217
查看次数

Haskell中的列表:数据类型还是抽象数据类型?

据我所知,Haskell中的列表类型是使用链表在内部实现的.但是,该语言的用户无法查看实现的详细信息,也无法修改组成链接列表的"链接"以允许其指向不同的内存地址.我想,这是内部完成的.

那么,如何在Haskell中限定列表类型?它是"数据类型"还是"抽象数据类型"?那个实现的链表类型是什么?

另外,由于Prelude提供的列表类型不是链表类型,如何实现基本链表功能?

举例来说,这段代码旨在在列表的索引n处添加元素a:

add [] acc _ _ = reverse acc
add (x:xs) acc 0 a = add xs (x:a:acc) (-1) a 
add (x:xs) acc n a = add xs (x:acc) (n-1) a
Run Code Online (Sandbox Code Playgroud)

使用"真实"链表,添加元素只需修改指向内存地址的指针.这在Haskell中是不可能的(或者是它?),因此问题是:我的实现是将一个元素添加到列表中最好的一个,或者我错过了一些东西(reverse我觉得,使用该函数特别难看,但是可以不做吗?)

如果我说的话有误,请不要犹豫,纠正我,谢谢你的时间.

haskell types linked-list list abstract-data-type

14
推荐指数
3
解决办法
2453
查看次数

如何从sql语句或存储过程连接到外部数据库?

在数据库上运行SQL语句或存储过程时,是否可以连接到外部数据库并从中提取数据?

就像是:

SELECT a.UserID, b.DataIWantToGet 
  FROM mydb.Users as a, externaldb.Data as b
Run Code Online (Sandbox Code Playgroud)

sql t-sql database sql-server linked-server

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

从Thread.Start()的委托函数访问返回值

我有一个程序通过Thread.Start执行一个方法.该方法具有我想要访问的返回值.有没有办法做到这一点?这是一个抽样......

var someValue = "";
Thread t = new Thread(delegate() { someValue = someObj.methodCall(); });

t.Start();

while (t.isAlive) Thread.Sleep(1000);

// Check the value of someValue
Run Code Online (Sandbox Code Playgroud)

因此,一旦while循环结束,someValue应该被设置 - 但是因为它在另一个线程中执行它不会被设置.有一种简单的方法可以访问它吗?

c# multithreading

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

我正在运行哪个版本的SQL Server?

我正在寻找一个SQL查询,它将帮助我区分各种版本的SQL Server:

2000/2005/2008

开发/标准/ EE.

sql-server versioning

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

在Rails 2.3中对嵌套对象进行排序

我有一个带有嵌套对象的表单,如下所述:

http://ryandaigle.com/articles/2009/2/1/what-s-new-in-edge-rails-nested-attributes

它工作正常,但我需要通过"name"属性对表单中的嵌套对象进行排序,以便按字母顺序列出.

有任何想法吗?

ruby-on-rails

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

用Python包装C库:C,Cython还是ctypes?

我想从Python应用程序中调用C库.我不想包装整个API,只包含与我的案例相关的函数和数据类型.在我看来,我有三个选择:

  1. 在C中创建一个实际的扩展模块.可能是矫枉过正,我也想避免学习扩展写作的开销.
  2. 使用Cython将C库中的相关部分公开给Python.
  3. 在Python中完成所有工作,使用ctypes与外部库进行通信.

我不确定2)或3)是否是更好的选择.3)的优点是它ctypes是标准库的一部分,结果代码将是纯Python - 尽管我不确定这个优势实际上有多大.

两种选择都有更多优点/缺点吗?你推荐哪种方法?


编辑:感谢您的所有答案,他们为希望做类似事情的人提供了一个很好的资源.当然,这个决定仍然是针对单个案例做出的 - 没有人"这是正确的事情"的答案.对于我自己的情况,我可能会选择ctypes,但我也期待在其他项目中尝试Cython.

由于没有一个真正的答案,接受一个有点武断; 我选择了FogleBird的答案,因为它提供了对ctypes的一些很好的洞察力,它目前也是最高投票的答案.但是,我建议阅读所有答案以获得良好的概述.

再次感谢.

c python ctypes cython

272
推荐指数
11
解决办法
7万
查看次数

网络协议是如何实现的?

我知道协议是一组规则,用于管理网络中两台计算机之间的通信,但是如何为计算机实施规则?协议基本上是一段代码,换句话说,软件?

networking protocols

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

在循环中实例化一个新类或不在循环中实例化?

require_once('Class.php');
$myArray = array(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15); // etc
Run Code Online (Sandbox Code Playgroud)

哪个是对的?

foreach($myArray as $key => $val) {
    $class = new Class();
    $result = $class->someMethod($val);
}
Run Code Online (Sandbox Code Playgroud)

要么

$class = new Class();
foreach($myArray as $key => $val) {
    $result = $class->someMethod($val);
}
Run Code Online (Sandbox Code Playgroud)

使用http://simplepie.org/wiki/reference/simplepie/get_items编辑更具体

$aFeeds = array(rssFeed1,rssFeed2,rssFeed3,...);
foreach($aFeeds as $key => $feedURL) {
    $feed->set_feed_url(feedURL);
    $feed->init();
    $feed->get_items(0, 5);
}
Run Code Online (Sandbox Code Playgroud)

php loops class instantiation

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

实时通知Jquery

有人可以引导我以正确的方式进行实时通知

例如,知道在Mysql中添加新行的时间

知道php文件是否有变化???

我该怎么办呢?

php jquery live

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