考虑以下类:
class TypeA;
class TypeB : TypeA;
class TypeC : TypeA;
class TypeD : TypeA;
Run Code Online (Sandbox Code Playgroud)
以及List <>类型:
List<TypeB> listTypeB;
List<TypeC> listTypeC;
List<TypeD> listTypeD;
Run Code Online (Sandbox Code Playgroud)
现在,TypeA具有类型为Object1的属性Prop1,我想找到哪个列表中存储了具有给定值的Prop1的项目.有没有办法可以做以下的事情,所以我只需要编写一次搜索代码?
bool LocateInAnyList(Object1 findObj)
{
bool found = false;
found = ContainsProp1(findObj, listTypeB);
if(!found)
{
found = ContainsProp1(findObj, listTypeC);
}
if(!found)
{
found = ContainsProp1(findObj, listTypeD);
}
return found;
}
bool ContainsProp1(Object1 searchFor, List<TypeA> listToSearch)
{
bool found = false;
for(int i = 0; (i < listToSearch.Count) & !found; i++)
{
found = listToSearch[i].Prop1 == searchFor;
} …Run Code Online (Sandbox Code Playgroud) 在编码器生产率方面,VS 2005或2008中最快的方式是确定Foo是否实现IDisposable.我不止一次发生过这样的情况,我发现我使用的是一种没有using阻塞的类型,因为它从来没有发生过我需要实现IDisposable的东西.
我有一个List,并希望将其减少为单个值(函数式编程术语"折叠",Ruby术语inject),如
Arrays.asList("a", "b", "c") ... fold ... "a,b,c"
Run Code Online (Sandbox Code Playgroud)
由于我感染了函数式编程思想(Scala),我正在寻找一种更简单/更短的编码方式
sb = new StringBuilder
for ... {
append ...
}
sb.toString
Run Code Online (Sandbox Code Playgroud) 我正在编写一个安装程序,它将调整产品的配置,以便运行它的特定硬件.特别是,我想确定系统中安装了多少物理RAM,以便估计在运行时分配给产品的内存量.
理想情况下,我想以独立于平台的纯Java方式执行此操作,因为安装程序需要在几个不同的平台上运行,但如果不可能,则首选Windows解决方案,因为这是最常见的部署平台.
在这种情况下,可以安全地假设产品将是盒子上运行的唯一/主要应用程序,因此我不必担心挤压其他任何人.我不想过度分配,因为根据我们的经验,这可能会损害性能.
我目前正在与Drupal合作,我很难搜索各种.module文件的内容.例如,我想搜索类似" div style="border: 1px solid red;"的内容,并找出它所在的文件.
我的所有代码编辑都忽略了搜索中的.module文件,因为它是一个奇怪的扩展.Windows不会这样做,因为它位于网络位置.
有任何想法吗?
我有一个带有自定义UITableViewCell的UITableView.在cellForRowAtIndexPath中,我为每个单元格中的标签指定一种字体,因为用户可以随时更改字体大小.要更改字体大小,用户单击tableview下方的按钮,该按钮会使用设置显示另一个视图.一旦他们选择了字体大小并单击完成,该视图就会消失并再次显示tableview.我在每个观看区域显示一个单元格.因此,用户在滚动到下一个单元格之前看不到字体更改.当前的单元格是我想要更新的单元格.
我已经从设置屏幕尝试了reloadData但是没有用.tableview是一个UITableViewController,但是一旦设置屏幕消失,viewWillAppear就不会触发.我已经尝试使自定义单元格成为tableview的属性,因此可以从设置视图访问它,然后调用setNeedsDisplay和setNeedsLayout.那些也不起作用.有什么建议?
是否可以在WPF中使文本框自动完成?
我找到了一个示例,其中使用了一个组合框,并通过编辑样式模板删除了三角形.
有更好的解决方案吗?
特别是在具有ORM的应用程序中,在类之间进行双向映射是很常见的.像这样:
public class Product
{
private List<Price> HistoricPrices { get; private set;}
}
public class Price
{
private Product Product { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
在代码中是否有一种可接受的方式来维护这种关系?那么当我向产品添加价格时,Product属性会自动设置吗?
理想情况下,我正在寻找一个易于重复使用的解决方案.向集合中添加内容然后手动设置相反的关系似乎是错误的.
请注意,这不是关于如何建模产品和价格的问题,这是如何建立双向关系的问题.在很多情况下,这是非常合理的.
我有一个应用程序返回依赖于指定时间的数据,我可以指定天,月或年.问题是,如果我今天要运行该应用程序并要求它返回1个月前的数据,并且在3个月的时间内我要求该应用程序返回该日期前一个月的数据(即从该日期开始的1个月) )结果显然会有所不同.由于这种动态特性,我发现很难创建单元测试,因为我必须根据运行测试的时间来更改日期.这是否表示设计不好或者这是一个例外情况?
我使用以下代码从使用Soap的网站获取数据.
$client = new SoapClient('http://some.url.here');
class SMSParam {
public $CellNumber;
public $AccountKey;
public $MessageCount;
public $MessageBody;
public $Reference;
}
$parameters = new SMSParam;
$parameters -> AccountKey = "$sms_key";
$parameters -> MessageCount = "25";
$Result = $client->GetIncomingMessages($parameters);
echo "<pre>";
print_r($Result);
echo "</pre>";
Run Code Online (Sandbox Code Playgroud)
以下是输出示例:
stdClass Object
(
[GetIncomingMessagesResult] => stdClass Object
(
[SMSIncomingMessage] => Array
(
[0] => stdClass Object
(
[OutgoingMessageID] => data
[Reference] => data
[MessageNumber] => data
[PhoneNumber] => data
[Message] => data
[ReceivedDate] => data
)
[1] => …Run Code Online (Sandbox Code Playgroud) c# ×3
collections ×2
java ×2
php ×2
autocomplete ×1
cocoa-touch ×1
dreamweaver ×1
drupal ×1
folding ×1
foreach ×1
ide ×1
inheritance ×1
installer ×1
iphone ×1
memory ×1
object ×1
search ×1
stdclass ×1
textbox ×1
uitableview ×1
unit-testing ×1
wpf ×1
wpf-controls ×1