我想在java中编译这个代码的一些变体.
class X
{
List<X> getvalue(){...};
}
class Y extends X
{
List<Y> getvalue(){...};
}
Run Code Online (Sandbox Code Playgroud)
Javac(1.6)返回错误,因为List <Y>和List <X>不兼容.
关键是我希望编译器能够识别List <Y>是List <X>的兼容返回类型,如果Y是X的子类型.我想要的原因是简化用户定义工厂的使用类.
注意:这个问题有点像 这个问题, 但对于java.
我有一个绑定到绑定源的 datagridview 和表单上的几个按钮。一个按钮将项目添加到绑定源,另一个按钮删除当前选定的项目。还有一个事件处理程序,用于侦听 CurrentChanged 事件并更新“删除”按钮的“启用”状态。
一切都很顺利,直到我从 datagridview 中删除最后一项。然后我看到一个非常丑陋的异常:
at System.Windows.Forms.CurrencyManager.get_Item(Int32 index)
at System.Windows.Forms.CurrencyManager.get_Current()
at System.Windows.Forms.DataGridView.DataGridViewDataConnection.OnRowEnter(DataGridViewCellEventArgs e)
at System.Windows.Forms.DataGridView.OnRowEnter(DataGridViewCell& dataGridViewCell, Int32 columnIndex, Int32 rowIndex, Boolean canCreateNewRow, Boolean validationFailureOccurred)
at System.Windows.Forms.DataGridView.SetCurrentCellAddressCore(Int32 columnIndex, Int32 rowIndex, Boolean setAnchorCellAddress, Boolean validateCurrentCell, Boolean throughMouseClick)
at System.Windows.Forms.DataGridView.SetAndSelectCurrentCellAddress(Int32 columnIndex, Int32 rowIndex, Boolean setAnchorCellAddress, Boolean validateCurrentCell, Boolean throughMouseClick, Boolean clearSelection, Boolean forceCurrentCellSelection)\r\n at System.Windows.Forms.DataGridView.MakeFirstDisplayedCellCurrentCell(Boolean includeNewRow)
at System.Windows.Forms.DataGridView.OnEnter(EventArgs e)
at System.Windows.Forms.Control.NotifyEnter()
at System.Windows.Forms.ContainerControl.UpdateFocusedControl()
at System.Windows.Forms.ContainerControl.AssignActiveControlInternal(Control value)
at System.Windows.Forms.ContainerControl.ActivateControlInternal(Control control, Boolean originator)
at System.Windows.Forms.ContainerControl.SetActiveControlInternal(Control value)
at System.Windows.Forms.ContainerControl.SetActiveControl(Control ctl)
at System.Windows.Forms.ContainerControl.set_ActiveControl(Control value) …
Run Code Online (Sandbox Code Playgroud) 我们有两个列表,让我们说学生和他们的分数.我想比较这两个列表并找到新列表和旧列表之间的差异,然后找到插入或更新到新列表中的任何更改的最不具侵入性的方法.解决这个问题的最佳算法是什么?希望专注于对新列表和性能的最小量更改.
示例代码:
List<ListItem> existingList = new List<ListItem>();
List<ListItem> newList = new List<ListItem>();
public TopLists()
{
InitTwoLists();
}
private void InitTwoLists()
{
existingList.Add(new ListItem { Name = "Shane", Score = 100 });
existingList.Add(new ListItem { Name = "Mark", Score = 95 });
existingList.Add(new ListItem { Name = "Shane", Score = 94 });
existingList.Add(new ListItem { Name = "Steve", Score = 90 });
existingList.Add(new ListItem { Name = "Brian", Score = 85 });
existingList.Add(new ListItem { Name = "Craig", Score = 85 …
Run Code Online (Sandbox Code Playgroud) 使用gettimeofday()的简单C程序在没有任何标志(gcc-4.5.1)的情况下编译时工作正常但在使用标志-mno-sse编译时不提供输出.
#include <stdio.h>
#include <stdlib.h>
int main()
{
struct timeval s,e;
float time;
int i;
gettimeofday(&s, NULL);
for( i=0; i< 10000; i++);
gettimeofday(&e, NULL);
time = e.tv_sec - s.tv_sec + e.tv_usec - s.tv_usec;
printf("%f\n", time);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我有CFLAGS = -march = native -mtune = native有人可以解释为什么会这样吗?程序正常返回正确的值,但在启用-mno-sse编译时打印"0".
我正在寻找一种使用PHP下载Youtube视频的方法.我已经搜索了几个小时如何做到这一点但不幸的是我发现的所有谷歌搜索结果已经存在多年了,不再适用了.
如果有人能够解释如何做到这一点,或者给出一篇详细解释它的最新文章的链接,我将不胜感激.
非常感谢.
在我作为PHP程序员和C#编程初学者的日子里,我一直想知道生成独特序列号的最佳方法,例如Microsoft Office和Microsoft操作系统的工作方式.
有没有人有一个很好的指导如何处理这个,比如生成唯一序列的重要因素,防止重复等.如何创建/验证它们的小例子.
这是我正在谈论的RFC:http://tools.ietf.org/html/rfc1982.
Hiya,我的代码目前有三个函数,每个函数产生大量的随机数.我想知道是否有一种方法只需要一个函数返回一个链表或多维数组,使其有点整洁:
(从http://pastebin.com/Y5aE6XKS复制)
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <time.h>
#ifndef RAND_MAX
#define RAND_MAX 2147483648
#endif
#define N 420000
double* rdm_X(void);
double* rdm_Y(void);
double* rdm_Z(void);
void main(void)
{
double* Random_number_list_X = rdm_X();
double* Random_number_list_Y = rdm_Y();
double* Random_number_list_Z = rdm_Z();
double X[N+1], Y[N+1], Z[N+1], density = 1, vol = 42.0;
double sum = 0, sum_x = 0, sum_y = 0, sum_z = 0;
int i;
for (i = 0; i <= N; i++) {
X[i] = 3 * …
Run Code Online (Sandbox Code Playgroud) 假设您在C#中具有以下结构:
struct Piece : IEquatable<Piece> {
public readonly int size;
public readonly bool[,] data;
public Piece(Piece p) {
size = p.size;
data = (bool[,])p.data.Clone();
}
public Piece(int s, bool[,] d) {
size = s;
if (d.GetLength(0) != s || d.GetLength(1) != s) throw new ArgumentException();
data = (bool[,])d.Clone();
}
public bool Equals(Piece other) {
if (size != other.size) return false;
return (data.Equals(other.data));
}
}
Run Code Online (Sandbox Code Playgroud)
这个想法是它代表一组size
x size
位代表一个形状(一个位图,如果你愿意的话).
现在,并非所有可能的位组合都有效.我有一些要求:
size
位总数.(这很简单,我已经实现了这个)所以,再次假设size==4
,以下是好的:
..#.
..#.
.##. …
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用SQL Server Management Studio的Import Data
任务将数据导入表中.它只带来了26行,原来的49,325行.(编辑:这是99.9%来自的地方:(1-26/49325)*100 = 99.9%
在企业管理器中正确使用DTS会带来所有49,325行.
为什么SSMS没有导入所有行,报告它成功传输了49,325,并且没有遇到任何错误?为什么企业管理器能够正确导入所有49,325行?
Microsoft SQL Server Management Studio版本:10.0.1600.22(从SQL Server 2008开始,今天安装在全新的Windows 7计算机上,应用了SP1)
该STRTransactions
表最初是空的:
Source是以下ContosoFrobManager
数据库lithium
:
目的地是Grob
数据库lithium
;
我想从一个(或多个)表复制数据:
我想复制STRTransactions
表格:
您可以附加到现有表,这很好(它是空的).我想启用身份插入.并且不要尝试导入时间戳(因为你无论如何都会抱怨):
马上跑,没关系:
是的,你要做的事情:
我设法在传输49,325行时捕获它,大约在1k标记处:
全部完成.成功复制了所有49,325行:
这是报告:
执行成功
初始化数据流任务(成功)
初始化连接(成功)
设置SQL命令(成功)
设置源连接(成功)
设置目标连接(成功)
验证(成功)消息警告0x80049304:数据流任务1:警告:无法打开全局共享内存以与性能DLL通信; 数据流性能计数器不可用.要解决此问题,请以管理员身份运行此程序包,或在系统控制台上运行.(SQL Server导入和导出向导)警告0x80047076:数据流任务1:输出"OLE DB源输出"(11)上的输出列"timestamp"(158)和组件"Source - STRTransactions"(1)随后未使用在数据流任务中.删除此未使用的输出列可以提高数据流任务性能.(SQL Server导入和导出向导)
准备执行(成功)
预执行(成功)
执行(成功)
复制到[dbo].[STRTransactions](成功)传输49325行
消息信息0x402090df:数据流任务1:"组件"目标中的数据插入的最终提交 - STRTransactions"(163)"已启动.(SQL Server导入和导出向导)信息0x402090e0:数据流任务1:"组件"目标中的数据插入的最终提交 - STRTransactions"(163)"已结束.(SQL Server导入和导出向导)
- 后执行(成功)消息信息0x4004300b:数据流任务1:"组件"目标 - STRTransactions"(163)"写入49325行.(SQL Server导入和导出向导)
优秀.全部完成." 写了49325行 ". …
我尝试这样做,但这是一个语法错误,我做错了什么?
declare myid := insert into oameni values(default,'lol') returning id;
Run Code Online (Sandbox Code Playgroud)
我的桌子:
create table oameni
(
id serial primary key,
name varhcar(10)
);
Run Code Online (Sandbox Code Playgroud) c# ×3
c ×2
php ×2
.net-2.0 ×1
algorithm ×1
area ×1
bitmap ×1
boolean ×1
data-binding ×1
datagridview ×1
download ×1
etl ×1
gcc ×1
generics ×1
gettimeofday ×1
java ×1
license-key ×1
linked-list ×1
list ×1
montecarlo ×1
overriding ×1
postgresql ×1
sql ×1
sql-server ×1
ssms ×1
video ×1
winforms ×1
youtube ×1