我在C#中有一个包含字典的类,我想创建它并确保在该字典中添加,编辑或删除任何内容,只要包含它的类存在即可.
readonly并没有真正的帮助,一旦我测试并看到我可以添加项目.例如,我创建了一个例子:
public class DictContainer
{
private readonly Dictionary<int, int> myDictionary;
public DictContainer()
{
myDictionary = GetDictionary();
}
private Dictionary<int, int> GetDictionary()
{
Dictionary<int, int> myDictionary = new Dictionary<int, int>();
myDictionary.Add(1, 2);
myDictionary.Add(2, 4);
myDictionary.Add(3, 6);
return myDictionary;
}
public void Add(int key, int value)
{
myDictionary.Add(key, value);
}
}
Run Code Online (Sandbox Code Playgroud)
我希望Add方法不起作用.如果可能的话,我希望它甚至不能编译.有什么建议?
实际上,我很担心代码会让很多人改变.因此,即使我隐藏了Add方法,某人也可能"无辜地"创建一个添加密钥或删除另一个密钥的方法.我希望人们看起来并知道他们不应该以任何方式改变字典.就像我有一个const变量一样.
有人可以帮我从这个xml结构中使用c#读取属性ows_AZPersonnummer
<listitems
xmlns:s="uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882"
xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882"
xmlns:rs="urn:schemas-microsoft-com:rowset"
xmlns:z="#RowsetSchema"
xmlns="http://schemas.microsoft.com/sharepoint/soap/">
<rs:data ItemCount="1">
<z:row
ows_AZNamnUppdragsansvarig="Peter"
ows_AZTypAvUtbetalning="Arvode till privatperson"
ows_AZPersonnummer="196202081276"
ows_AZPlusgiro="5456436534"
ows_MetaInfo="1;#"
ows__ModerationStatus="0"
ows__Level="1" ows_ID="1"
ows_owshiddenversion="6"
ows_UniqueId="1;#{11E4AD4C-7931-46D8-80BB-7E482C605990}"
ows_FSObjType="1;#0"
ows_Created="2009-04-15T08:29:32Z"
ows_FileRef="1;#uppdragsavtal/Lists/Uppdragsavtal/1_.000"
/>
</rs:data>
</listitems>
Run Code Online (Sandbox Code Playgroud)
并获得价值196202081276.
由于内容类型冲突,我无法将Django fixtures加载到我的MySQL数据库中.首先,我尝试从我的应用程序转储数据,如下所示:
./manage.py dumpdata escola > fixture.json
Run Code Online (Sandbox Code Playgroud)
但我不断错过外键问题,因为我的应用程序"escola"使用其他应用程序中的表.我一直在添加额外的应用程序,直到我这样做:
./manage.py dumpdata contenttypes auth escola > fixture.json
Run Code Online (Sandbox Code Playgroud)
现在,当我尝试将数据作为测试夹具加载时,问题是以下约束违规:
IntegrityError: (1062, "Duplicate entry 'escola-t23aluno' for key 2")
Run Code Online (Sandbox Code Playgroud)
似乎问题是Django正在尝试动态地重新创建具有与夹具中的主键值冲突的不同主键值的内容类型.这似乎与此处记录的错误相同:http://code.djangoproject.com/ticket/7052
问题是推荐的解决方法是转储我正在做的contenttypes应用程序!?是什么赋予了?如果它有所不同,我确实有一些自定义模型权限,如下所示:http://docs.djangoproject.com/en/dev/ref/models/options/#permissions
我的应用程序在Mac OS X上运行,需要检索有关正在运行的计算机的详细信息以报告系统信息.我需要的其中一项是有关计算机中安装的处理器的详细信息.
我的代码目前有效,但远非理想的解决方案,事实上我认为这是一个糟糕的解决方案,但我没有找到更好的解决方案.
我目前报告的信息和一些格式后的信息如下:
处理器:Intel Core 2 Duo 2.1 GHz,Family 6 Model 23 Stepping 6
我得到的所有信息都是通过popen()调用的命令行实用程序.处理器描述的可读部分取自"system_profiler"命令输出,Family,Model和Stepping值取自"sysctl"命令.
这些命令行实用程序必须从某处获取信息. 我想知道是否有可用的程序界面来获取相同的信息?
有关:
我是jQuery的新手,我正在尝试编写一些代码来浏览页面并重写锚链接href属性,以便删除空格并替换为%20.
到目前为止我有:
$(".row a").each(function(){
$(this).attr("href").replace(/\s/g,"%20");
});
Run Code Online (Sandbox Code Playgroud)
我尝试了一些这方面没有运气的变化.
我有一个程序从文件写入/读取,我想锁定我的应用程序的其他实例的文件.我怎么能这样做(在c ++ visual studio 2003中)?我尝试使用_locking(),但是当我尝试读/写(在同一实例中)时,我自己也无法访问该文件.我知道LockFile()有一个选项,但不知道如何正确设置它.请帮我.
我知道PHP中的rand函数会生成随机整数,但生成随机字符串的最佳方法是:
原始字符串,9个字符
$string = 'abcdefghi';
Run Code Online (Sandbox Code Playgroud)
示例随机字符串限制为6个字符
$string = 'ibfeca';
Run Code Online (Sandbox Code Playgroud)
更新:我发现了大量这些类型的函数,基本上我正试图理解每一步背后的逻辑.
更新:该函数应根据需要生成任意数量的字符.
如果您回复,请评论部分.
在Mac上的Cocoa中,我想检测何时移动,调整大小或重新绘制属于另一个应用程序的窗口.我怎样才能做到这一点?
我有个十六进制字符一些256个字符的字符串代表位标志的序列,我试图将其转换回为一个比特,所以我可以操纵它们&
,|
,vec
等.十六进制字符串是用整数范围的大端组写的,这样一组8个字节就像"76543210"
应转换为"\x10\x32\x54\x76"
位串,即最低的8位00001000
.
问题是pack
'" h
"格式一次只能输入一个字节,而不是8,因此直接使用它的结果将不是正确的顺序.目前我正在这样做:
my $bits = pack("h*", join("", map { scalar reverse $_ } unpack("(A8)*", $hex)));
Run Code Online (Sandbox Code Playgroud)
哪个有效,但感觉很乱.似乎应该有一个更清洁的方式,但我的pack
-fu不是很强大.有没有更好的方法来进行这种翻译?
你知道如何在MenuStri中删除子菜单的边距(可能是左边和右边的图像和复选框)吗?在MSDN文章中,解释了如何从上下文菜单中删除它.我写道,我应该在MenuStrip中以相同的方式执行它,但MenuStrip没有ShowImageMargin或ShowCheckMargin.也许我错过了什么.你能帮我吗?
c# ×3
c++ ×2
macos ×2
.net ×1
asp.net ×1
bitstring ×1
cocoa ×1
dictionary ×1
django ×1
endianness ×1
file ×1
fixtures ×1
hardware ×1
html ×1
immutability ×1
javascript ×1
jquery ×1
menustrip ×1
mysql ×1
objective-c ×1
pack ×1
perl ×1
php ×1
random ×1
readonly ×1
replace ×1
string ×1
windows ×1
xml ×1