问题列表 - 第16583页

返回多个枚举值的最佳方法是什么?(java和C#)

更多原始内容被删除,以使问题更容易参考:

所以我有一个House班级有一个方法House.buy(Person p),导致这个人买房子.我想知道是否可以让人买房子,所以我也有一个方法House.tryBuy(Player p),如果人可以买房子.我有一个枚举BuyState与像值OK,NotEnoughMoneyAlreadyOwned.有几个不同的条件需要满足,客户想知道哪个失败了.但是如果多个条件失败怎么办?我可以有一个等级,比如House已经拥有而且Person没有足够的钱,返回BuyStates.AlreadyOwned.但这只能让我告诉客户一件事.

我可以有N个单独的条件和一个带有N*N值的枚举,ConditionA_AND_ConditionB_ANDConditionC但是由于几个原因这根本没有意义.我知道有些字段,每个条件都有一点,但它们看起来太低级,实现起来很烦人,而且不可扩展.所以我需要一种从枚举中返回值列表的方法,那么这样的类如何:

class C<type_of_enum> {
    private List<type_of_enum> values;

    //etc etc
}
Run Code Online (Sandbox Code Playgroud)

这是"最好的"设计吗?

(保持关于java和C#的问题以保持答案有效)

c# java enums bit-fields

0
推荐指数
3
解决办法
2540
查看次数

macports混乱

嘿,我是macports的新手,因为我最近切换到mac.因为我想在我的mac中开发一些应用程序,我想要我需要的所有常用的gnu和开源工具.但我有一个小小的混乱.我正在用macports安装git,我发现它安装了许多像Perl这样的软件包,我已经在我的机器上了.所以我想不会有任何冲突,如何知道使用哪个版本.macports一个还是苹果一个?

macos macports

3
推荐指数
1
解决办法
1214
查看次数

如何在Go中反转字符串?

我们如何在Go中反转一个简单的字符串?

string reverse go

92
推荐指数
13
解决办法
5万
查看次数

iPhone Core-Plot Tick Marks不显示

我在这里阅读了教程:http://www.switchonthecode.com/tutorials/using-core-plot-in-an-iphone-application,我可以得到一个图表来显示,但我没有看到任何勾号我轴上的标记或标签设置.我有什么简单的东西可以忽略吗?下面是我创建图表的代码,我还实现了委托函数.我正在看轴和图,但不是轴刻度线或标签.

谢谢你提供的所有帮助.

- (void) showGraph {

  graph = [[CPXYGraph alloc] initWithFrame: CGRectMake(0,0, 320, 320)];

  CPLayerHostingView *graphView = [[CPLayerHostingView alloc] initWithFrame:CGRectMake(0,0, 320, 320)];
  graphView.backgroundColor = [UIColor blueColor];

  AppDelegate *t = (AppDelegate *)[[UIApplication sharedApplication] delegate];
  [t.mapVC.view addSubview:graphView];

  graphView.hostedLayer = graph;
  graph.paddingLeft = 20.0;
  graph.paddingTop = 20.0;
  graph.paddingRight = 20.0;
  graph.paddingBottom = 20.0;

  float minElevation = 0;
  float maxElevation = 10;
  float minTime = 0;
  float maxTime = 5;

  CPXYPlotSpace *plotSpace = (CPXYPlotSpace *)graph.defaultPlotSpace;
  plotSpace.xRange = [CPPlotRange plotRangeWithLocation:CPDecimalFromFloat(minTime)
                                                 length:CPDecimalFromFloat(maxTime)]; …
Run Code Online (Sandbox Code Playgroud)

iphone cocoa-touch objective-c core-plot

2
推荐指数
1
解决办法
3444
查看次数

哪些情况会导致东京内阁封锁

tc在 python 中使用带有模块的东京柜。我以 TDB 格式存储我的数据。我希望该表仅在写入期间阻塞。不幸的是,我看到当文件以“编写器模式”打开时,其他进程无法从中读取。这是标准行为,包装问题,还是我做错了什么?或者可能还有其他情况下操作被阻塞?

python blocking tokyo-cabinet

2
推荐指数
1
解决办法
605
查看次数

IE8焦点伪类和兄弟选择器

我有一些标记,当试图文本输入具有焦点时,我试图让"某些输入的提示"亮起.我试图使用焦点伪类和兄弟选择器.如果我只使用一个或另一个它工作得很好.但是,当它们在IE8中组合时,它会突然显示,当您在文本框中进行选项卡时,该样式不会更新.注意:如果您单击文本框并返回它们,则会更新它们的样式.

这是标记:


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
    <style type="text/css">
        html { font-family: Arial; }
        .lineItem {padding:5px; clear:both; }
        .label { display:block; font-size:large; color: #2C2F36; font-weight:bold; padding:5px 0px 3px 0px; }
        .textbox:focus { background-color: #FFFFBF; }       
        .textbox { font-size: large; color: #2C2F36; width:300px; background-color: #FFFFE8; padding:3px 5px; border:solid 2px #cecece; float:left; }
        .hint {  margin-left:10px; width:175px; font-size:smaller; display:block; float:left; color: #466E62; }
        .textbox:focus+.hint {color: Red; }
    </style>
</head>
<body>
    <form id="form1" runat="server"> …
Run Code Online (Sandbox Code Playgroud)

css cross-browser css-selectors internet-explorer-8

4
推荐指数
1
解决办法
4048
查看次数

如何在php5.3.0中使用sha256

我正在使用sha256来加密密码.我可以在shaql中保存sha256加密密码.但我无法使用相同的条款登录.

插入代码:

<?php
error_reporting(E_ALL ^ E_NOTICE);
$username = $_POST['uusername'];
$passcode = $_POST['ppasscode'];
$userflag = $_POST['uuserflag'];
//$passcodeen = hash('sha256',$passcode);
$passcodeen = hash('sha256', (get_magic_quotes_gpc() ? stripslashes($ppasscode) : $ppasscode));
$conn = mysql_connect("localhost","charles","charles") or die("connection failed with DB:".mysql_error());
mysql_select_db("sessiondb");
$query = "INSERT INTO users(username,passcode,userflag) values('$username','$passcodeen','$userflag')";
Run Code Online (Sandbox Code Playgroud)

选择代码:

<?php 
error_reporting(E_ALL ^ E_NOTICE);

    @mysql_connect("localhost","charles","charles") or die("Connection failed".mysql_error());
    @mysql_select_db("sessiondb") or die("Database doesn't exist".mysql_error());
    //get user input
    $username = $_POST['username'];
    $ppasscode = $_POST['ppasscode'];
    //$passcodeen = hash('sha256', $ppasscode);
    $passcodeen = hash('sha256', (get_magic_quotes_gpc() ? stripslashes($ppasscode) : $ppasscode));
    //get session value from …
Run Code Online (Sandbox Code Playgroud)

php hash sha256

39
推荐指数
2
解决办法
14万
查看次数

正则表达式检查XML是否格式正确

是否有正则表达式来检查xml是否格式正确?

谢谢

编辑:如果不是正则表达式,那么有一个很好的解析方法,我可以在c#中使用,不会抛出异常.我尝试使用xmlReader,但它对我没用.

c# regex xml

1
推荐指数
2
解决办法
2376
查看次数

检测是否在C#中按下任何键(不是A,B,但是任何键)

[编辑3]我使用"奇怪"版本"解决了它".至少对于最重要的键.这对我的情况来说是足够的,我想检查ALT和ALT + A是不一样的(从而确保没有按下A).不完美,但已经有很多时间来解决这么小的问题了.无论如何,感谢所有的答案... [编辑3]

[编辑4]由于280Z28 [/ EDIT 4]解决了它更清洁

我知道如何检查修改键以及如何测试单个键.问题是,我想检查是否按下了任何键.以下方法似乎"奇怪":-)

用C#编写的WPF应用程序

if (Keyboard.IsKeyDown(Key.A)) return true;
if (Keyboard.IsKeyDown(Key.B)) return true;
if (Keyboard.IsKeyDown(Key.C)) return true;
Run Code Online (Sandbox Code Playgroud)

我知道这是一个枚举,所以我想到了一个循环,但是使用的"最大数字"是什么.这可能吗?顺便说一句,这是一个非常特殊的情况,通常我会使用一个事件,但在这种情况下我必须这样做.不幸的是,没有"list"Keyboard.CurrentlyDownKeys.至少我没看到它.

谢谢,克里斯

编辑:好的,因为它似乎是一个更大的交易,这里的原因是:我已经定义了一个"KeySet",它作为自定义函数的DictionaryKey.如果有人点击某个元素,则包装器会遍历字典并检查是否有任何预定义的"Keysets"处于活动状态.

这允许我定义简单的触发器,例如,如果按下ALT + A + B,则运行此功能.另一个选项是例如,如果按下ALT + STRG + A(在鼠标单击WPF元素期间),则运行此功能.

当前实现的唯一"问题",如果我定义一个不包含任何REAL键的Keyset,如按下ALT则运行,如果按下ALT + A,也会触发它.哦,在写这篇文章时,我意识到还有另外一个问题.如果按下ALT + A + B + C,ALT + A + B当前也会触发.

也许我的方法是错误的,我应该创建一个"静态密钥跟踪器"并将密钥集与其值进行比较(通过事件获取)..我将尝试一下.

编辑2 这不起作用,至少不是一个简单的方法.我需要一个FrameworkElement来附加到KeyDown,但我没有在静态构造函数中.我对某个元素的KeyDownEvents不感兴趣,但是"全局"...我认为我推迟了这个问题,它并不那么重要.不过,如果有人知道更好的不同方法......

很长一段时间,对于任何关心的人,这里有一些代码:

    public class KeyModifierSet
{
    internal readonly HashSet<Key> Keys = new HashSet<Key>();
    internal readonly HashSet<ModifierKeys> MKeys = new HashSet<ModifierKeys>();

    public override int GetHashCode()
    {
        int hash = Keys.Count + …
Run Code Online (Sandbox Code Playgroud)

c# keyboard wpf key input

10
推荐指数
3
解决办法
5万
查看次数

C#测试以查看字符串是否为整数?

我只是想知道c#语言或.net框架中是否有内置的东西可以测试是否有东西是整数

if (x is an int)
   // Do something
Run Code Online (Sandbox Code Playgroud)

在我看来可能有,但我只是一年级编程学生,所以我不知道.

.net c# string integer

59
推荐指数
5
解决办法
18万
查看次数