我是c#的新手,以前试图忽略类并构建我的小程序,在结构上更类似于PHP.到达路障后,我正试图重新开始并正确处理问题OO.我正在处理一个长文件,并且在循环中,每次满足某些条件时,我想创建一个新对象.如何创建新对象,而无需指定唯一名称?
Referral ObjectName = new Referral(string, string, int);
Run Code Online (Sandbox Code Playgroud)
其次,一旦完成,并且strings&int设置了适当的对象属性,我如何通过一个属性将该类唯一 - 然后按另一个属性对该类进行排序?
我很抱歉,如果这些是基本问题,我花了大量的时间首先尝试通过谷歌和教科书来解决这个问题.如果只有C#允许不同类型的多维数组!
非常感谢!
PS.我的意思是提取一个唯一对象列表.
所有这些答案虽然有用,但似乎涉及创建IEnumerables的阴影集.班级本身没有办法做到这一点吗?
尝试第一个解决方案,由Earwicker提供,将每个对象从循环内部添加到List,当我尝试将元素的属性写入控制台时,我得到ClassName + Referral.我能做错什么? - 解决了.还需要.property
还在工作...
我有一个UITableView(Grouped!)并且需要计算两种样式的单元格的高度:UITableViewCellStyleDefault和UITableViewCellStyleValue2.
我就是这样做的UITableViewCellStyleDefault:
CGSize textSize = {300.f, 200000.0f};
CGSize size = [myTextString1 sizeWithFont:[UIFont systemFontOfSize:14.0f] constrainedToSize:textSize lineBreakMode:UILineBreakModeWordWrap];
size.height += 30.0f;
result = MAX(size.height, 44.0f);
Run Code Online (Sandbox Code Playgroud)
并为UITableViewCellStyleValue2:
CGSize textSize = {207.f, 200000.0f};
CGSize size = [myTextString2 sizeWithFont:[UIFont systemFontOfSize:14.0f] constrainedToSize:textSize lineBreakMode:UILineBreakModeWordWrap];
size.height += 30.0f;
result = MAX(size.height, 44.0f);
Run Code Online (Sandbox Code Playgroud)
我的问题是他们返回不正确的高度,我认为这是textSize我使用错误数字的地方.对于长文本,底部部分被缩短(通常只是一条带有几个单词的行),对于两个CellStyles,它们在单元格中的文本上方和下方都有奇怪的间距.
因为UITableViewCellStyleValue2我得到了宽度size(207.0f),使text.backgroundColor变为红色,然后只计算盒子的大小.300.0f宽度UITableViewCellStyleDefault是指细胞的大小UITableViewStyleGrouped.
有谁知道我需要使用哪些值来正确计算a的大小,NSString从而为我的细胞获得合适的高度?
谢谢
我对熟悉的WPF客户端应用程序的大量细节非常熟悉.我知道WPF客户端应用程序支持完整的.NET Framework 3.5,允许硬件加速2D和3D图形,主题,模板,样式,触发器,工作.
我不清楚的是XBAP和Silverlight应用程序中存在或缺少哪些功能和/或细节.我听说由于安全问题,XBAP在某些方面本质上受到限制,但就是这样.
我知道WPF足够强大,可以用于全面的业务应用程序,但是XBAP和Silverlight呢?每个的重要能力和局限是什么?它们中的任何一个都缺少在业务应用程序中使用时会使它们无用的功能吗?
我只是被介绍给C++,想知道一个基本问题......使用C++会发生什么?有什么地方我能看到一个有效的例子吗?教科书逐段细分.我真的很想看看会发生什么.任何建议将不胜感激.希望我的问题不要太模糊.谢谢!
我有一个var example ="05-10-1983"
我怎么能得到字符串示例的"第二天" ?
我试着使用Date对象...但没有...
比方说,我有一个System.Xml.XmlDocument谁InnerXml是:
<comedians><act id="1" type="single" name="Harold Lloyd"/><act id="2" type="duo" name="Laurel and Hardy"><member>Stan Laurel</member><member>Oliver Hardy</member></act></comedians>
我想这样格式化,添加换行符和空格:
<comedians>
<act id="1" type="single" name="Harold Lloyd"/>
<act id="2" type="duo" name="Laurel and Hardy">
<member>Stan Laurel</member>
<member>Oliver Hardy</member>
</act>
</comedians>
Run Code Online (Sandbox Code Playgroud)
我在XmlDocument课堂上看了一些美化方法,但找不到一个.
我有一个ItemCollection我想使用LINQ查询.我尝试了以下(人为的)示例:
var lItem =
from item in lListBox.Items
where String.Compare(item.ToString(), "abc") == true
select item;
Run Code Online (Sandbox Code Playgroud)
Visual Studio一直告诉我 Cannot find an implementation of the query pattern for source type 'System.Windows.Controls.ItemCollection'. 'Where' not found. Consider explicitly specifying the type of the range variable 'item'.
我该如何解决这个问题?
我正在使用PHP NumberFormatter类来打印货币值.
例如:
$cFormatter = new NumberFormatter('en_US', NumberFormatter::CURRENCY);
$cFormatter->formatCurrency(123, 'USD');
$cFormatter->formatCurrency(123, 'BRL');
$cFormatter->formatCurrency(123, 'GBP');
Run Code Online (Sandbox Code Playgroud)
这工作正常,并按预期分别返回"$123.00","R$123.00" "£123.00.
但负数字印在"会计风格"上,用括号括起来,而不是前导减去" - ".
例如:
$cFormatter->formatCurrency(-456, 'USD');
Run Code Online (Sandbox Code Playgroud)
返回"($456.00)",而我想要"-$456.00".当然有一种简单的方法可以做到这一点?
我可以通过覆盖前缀和后缀删除括号,如下所示:
$cFormatter->setTextAttribute(NumberFormatter::NEGATIVE_PREFIX, "-");
$cFormatter->setTextAttribute(NumberFormatter::NEGATIVE_SUFFIX, "");
Run Code Online (Sandbox Code Playgroud)
但后来我没有货币符号,例如"-456.00".
在设置NEGATIVE_PREFIX属性时,是否需要使用货币符号的转义码?
编辑:我很高兴设置一个不同的区域设置,如果这给了我正在寻找的结果.
编辑2:查看Intl库文档(这是用于实现NumberFormatter的库),以下看起来很有希望:
¤(\ u00A4):前缀或后缀:无货币符号,替换为货币符号.如果加倍,则用国际货币符号代替.如果是三倍,则替换为货币复数名称,例如美国的"美元"或"美元".如果存在于模式中,则使用货币小数分隔符而不是小数分隔符.
但是这个:
$cFormatter->setTextAttribute(NumberFormatter::NEGATIVE_PREFIX, "-¤");
Run Code Online (Sandbox Code Playgroud)
只需打印"-¤123",就没有喜悦.
编辑3:我想我找到了答案,见下文.
我在Perl中有一个问题,我不明白.我把它剥离到这个非常短的代码.
为什么Perl的map函数返回一个空数组?不应该返回9 undef秒的阵列吗?
sub mySub{
return;
}
my @arr = (1 .. 9);
my @arr2 = map( mySub($_), @arr );
print @arr . ' ' . @arr2, "\n";
Run Code Online (Sandbox Code Playgroud)
它打印"9 0".
它可能很简单,但perldoc没有帮助.
与此问题类似,但更进一步.我想检测一组项目之外的点击,我按以下方式处理:
$('#menu div').live('click', function() {
// Close other open menu items, if any.
// Toggle the clicked menu item.
$('body').one('click', function(event) {
// Hide the menu item.
event.stopPropagation();
});
});
Run Code Online (Sandbox Code Playgroud)
不幸的是,当另一个菜单项打开而另一个菜单项被点击时,这就像一个魅力,它需要两次点击才能打开第二个项目.第一次单击隐藏第一个打开的菜单项,第二个单击显示第二个菜单项.
"正确"行为以下列方式起作用:
我尝试了以下$('body').one()命令来代替上面的命令忽略菜单项的点击而收效甚微:
// Captures click on menu items in spite of the not.
$('*').not('#menu *').one('click', function() { // Hide menu }
$('*:not(#menu)').one('click', function() { // Hide menu }
Run Code Online (Sandbox Code Playgroud)
一如既往,感谢您的帮助!