我有一个结构列表,我想改变一个元素.例如 :
MyList.Add(new MyStruct("john");
MyList.Add(new MyStruct("peter");
Run Code Online (Sandbox Code Playgroud)
现在我想改变一个元素:
MyList[1].Name = "bob"
Run Code Online (Sandbox Code Playgroud)
但是,每当我尝试这样做时,我都会收到以下错误:
无法修改System.Collections.Generic.List.this [int]'的返回值,因为它不是变量
如果我使用类列表,则不会出现问题.
我想答案与结构是一种值类型有关.
那么,如果我有一个结构列表,我应该将它们视为只读吗?如果我需要更改列表中的元素,那么我应该使用类而不是结构?
如果您有一个向客户发送电子邮件的网站,并且您想要保存邮件的副本,那么什么是有效的策略?
如果将其保存到数据库中的表(例如,创建一个名为Mail的表),它会非常快速地变大.
我见过的一些策略是:
你用过什么策略?
我试图找到一种方法来确定在运行时给定的类在.NET中使用了多少内存.使用Marshal.SizeOf()已经出局,因为它只适用于值类型.有没有办法检查一个类使用多少内存?
我需要一个真正的DBA的意见.Postgres 8.3在我的Macbook Pro上执行此查询需要200 ms,而Java和Python在20 ms(350,000行)内执行相同的计算:
SELECT count(id), avg(a), avg(b), avg(c), avg(d) FROM tuples;
Run Code Online (Sandbox Code Playgroud)
使用SQL数据库时这是正常的行为吗?
模式(该表包含对调查的响应):
CREATE TABLE tuples (id integer primary key, a integer, b integer, c integer, d integer);
\copy tuples from '350,000 responses.csv' delimiter as ','
Run Code Online (Sandbox Code Playgroud)
我用Java和Python编写了一些测试用于上下文,他们粉碎了SQL(纯Python除外):
java 1.5 threads ~ 7 ms
java 1.5 ~ 10 ms
python 2.5 numpy ~ 18 ms
python 2.5 ~ 370 ms
Run Code Online (Sandbox Code Playgroud)
即使sqlite3与Postgres竞争,尽管它假设所有列都是字符串(相比之下:即使只使用切换到数字列而不是Postgres中的整数导致10x减速)
我试过没有成功的调整包括(盲目地遵循一些网络建议):
increased the shared memory available to Postgres to 256MB
increased the working memory to 2MB
disabled connection …Run Code Online (Sandbox Code Playgroud) 通常在编写新代码时,您会发现缺少#include,因为该文件无法编译.很简单,你添加了所需的#include.但是后来你以某种方式重构代码,现在不再需要一些#include指令.如何发现不再需要哪些?
当然,我可以手动删除部分或全部#include行并将其添加回来,直到文件再次编译,但这在包含数千个文件的大型项目中实际上并不可行.有没有可用的工具可以帮助自动化任务?
如何以JavaScript中的文化感知方式格式化货币相关数据?
如何可靠地确定文件的类型?文件扩展名分析是不可接受的.必须有一个类似于UNIX file(1)命令的rubyesque工具?
这与MIME或内容类型有关,而与文件系统分类无关,例如目录,文件或套接字.
有没有人对Graph算法的任何Java库有很好的经验.我试过JGraph并发现它没关系,谷歌中有很多不同的.是否有人实际在生产代码中成功使用或推荐?
为了澄清,我不是在寻找一个产生图形/图表的库,我正在寻找一个有助于Graph算法的库,例如最小生成树,Kruskal的算法节点,边缘等.理想情况下,它有一些好的算法/数据一个不错的Java OO API中的结构.
假设我有以下课程:
public class Test<E> {
public boolean sameClassAs(Object o) {
// TODO help!
}
}
Run Code Online (Sandbox Code Playgroud)
我怎么检查那o是同一个班级E?
Test<String> test = new Test<String>();
test.sameClassAs("a string"); // returns true;
test.sameClassAs(4); // returns false;
Run Code Online (Sandbox Code Playgroud)
我无法更改方法签名,(Object o)因为我覆盖了超类,所以不要选择我的方法签名.
我也宁愿不去尝试一个演员然后如果失败就抓住结果异常.
如果您每天或每周向工程负责人发送工作/进度报告,我想知道您是否会考虑使用Twitter或类似服务进行这些更新.
假设您正在远程工作或与分布式团队一起工作并且项目负责人很难了解人们正在处理的主题,以及问题/时间消费者的位置,您是否会设置一些私人帐户(甚至是私人公司内部服务)向您的同事广播进度更新?
编辑感谢您提供这些产品的链接,但您是否已在公司中使用其中一个产品?对于现实生活中的专业用途?
java ×2
.net ×1
aggregate ×1
algorithm ×1
backup ×1
c ×1
c# ×1
content-type ×1
currency ×1
file-type ×1
generics ×1
graph ×1
javascript ×1
localization ×1
memory ×1
mime-types ×1
olap ×1
optimization ×1
python ×1
ruby ×1
sql ×1
struct ×1
value-type ×1