标签: conditional-statements

删除C#中重复的硬编码循环和条件

我有一个类比较相同对象的2个实例,并生成它们的差异列表.这是通过循环密钥集合并使用已更改内容的列表填充一组其他集合来完成的(这在查看下面的代码后可能更有意义).这有效,并生成一个对象,让我知道在"旧"对象和"新"对象之间添加和删除的确切内容.
我的问题/担忧是......它真的很难看,有很多循环和条件.是否有更好的方法来存储/接近这一点,而不必过分依赖无穷无尽的硬编码条件?

    public void DiffSteps()
    {
        try
        {
            //Confirm that there are 2 populated objects to compare
            if (NewStep.Id != Guid.Empty && SavedStep.Id != Guid.Empty)
            {
                //<TODO> Find a good way to compare quickly if the objects are exactly the same...hash?

                //Compare the StepDoc collections:
                OldDocs = SavedStep.StepDocs;
                NewDocs = NewStep.StepDocs;
                Collection<StepDoc> docstoDelete = new Collection<StepDoc>();

                foreach (StepDoc oldDoc in OldDocs)
                {
                    bool delete = false;
                    foreach (StepDoc newDoc in NewDocs)
                    {
                        if (newDoc.DocId == oldDoc.DocId)
                        {
                            delete = true; …
Run Code Online (Sandbox Code Playgroud)

c# refactoring loops conditional-statements

8
推荐指数
1
解决办法
1478
查看次数

在Jquery和List中切换语句

我想知道我的方法是否有效和正确.我的代码不工作,我不知道为什么.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" type="text/javascript" charset="utf-8"></script>

 <script type="text/javascript">

 $(document).ready(function() {


  function HotelQuery(HotelName) {
   switch (HotelName) {
    case 'TimelessHotel': 
     var strHotelName = 'Timeless Hotel';
     var strHotelDesc = 'Hotel Description Timeless Hotel';
     var strHotelPrice = ['980.00', '1,300.00', '1,600.00', '1,500.00', '1,800.00', '300.00', '150.00', '200.00'];
     var strHotelRoomType = ['Single Room', 'Delux Room','Twin Room', 'Matrimonial Room', 'Presidential Suites', 'Extra Bed', 'Free Breakfast', 'Extra Person'];    
    ; //end Timeless Hotel

    case 'ParadiseInn': …
Run Code Online (Sandbox Code Playgroud)

javascript jquery switch-statement conditional-statements

8
推荐指数
2
解决办法
7万
查看次数

你如何使用小于/大于条件的MSBuild?

你如何做到低于或高于MSBuild条件?我已经尝试了以下变体,包括和不包含值的单引号,但没有骰子

<PropertyGroup Condition="$(Var1) > 50">

<PropertyGroup Condition="$(Var1) &gt 50">

有人可以告诉我我错过了什么吗?

谢谢

msbuild equivalence conditional-statements

8
推荐指数
1
解决办法
2828
查看次数

条件AND OR两个不同的值

我有两个不同变量的AND和OR串联.我尝试了以下方法:

<xsl:if test="$countryCode = '104'
               and 
              (transactionType != 'Allowance'
                or 
               revenueCenter != '1100')">
Run Code Online (Sandbox Code Playgroud)

但这不起作用.是否可以进行条件测试,或者我必须将其拆分为:

<xsl:if test="$countryCode='104'>
Run Code Online (Sandbox Code Playgroud)

在第二个元素我做:

<xsl:if transactionType!='Allowance' or revenueCenter!='1100'>
Run Code Online (Sandbox Code Playgroud)

我在互联网上搜索但没有找到任何暗示.任何人都可以帮我找到解决方案.谢谢你,最诚挚的问候,彼得

xslt conditional conditional-statements

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

计算包含特定值的总记录数

我有一个问题,希望你们能帮助我.

我有一个包含两列的表:

type           // contains 2 different values: "Raid" and "Hold"
authorization  // contains 2 different values: "Accepted" or "Denied"
Run Code Online (Sandbox Code Playgroud)

我需要创建一个返回如下值的视图:

TYPE:RAID     ACCEPTED:5          DENIED:7
Run Code Online (Sandbox Code Playgroud)

基本上我想知道有多少值TYPE是"Raid",然后有多少是"已接受"和"被拒绝".

先感谢您!!

sql case count conditional-statements

8
推荐指数
3
解决办法
4万
查看次数

使用PayPal在线预订机票:防止多个访客购买同一张机票

我正在为活动(如音乐会)开发一个在线票务系统.基本部分是座位表,向访客提供可供选择的座位/门票.一旦他们做出选择,系统会立即尝试将票证保留10分钟(通过将票证ID输入到票证ID为关键字的表格中).只有在预订成功的情况下,才会出现付款按钮以进行付款.

这一切都很好.机票预订对我来说不是问题.我可以在我的系统中处理它.但是一旦paypal进入游戏,事情变得困难.

问题:如果用户由于某种原因花了很多时间在Paypal(超过10分钟),我网站上的机票预订将到期,允许其他访客购买机票,这可能发生在访客1进入之前付款.访客1看不到任何此类因为他仍处于PayPal ...在某个时间点,他将设法付款(例如15分钟后),这将完美地起作用,因为paypal对过期的预订一无所知.

最后,我可能有两个访客为同一张票/座位付款!

我怎样才能防止这种情况发生?如果涉及两个系统且其中一个系统无法控制,您如何处理竞争条件?

我的想法是:实际上应该在付款之前进行检查,但当然我无法控制PayPal中发生的事情!

我知道我可以使用Paypal的IPN等,但这只发生在付款后为时已晚.

或者,如果paypal通过API要求我确认付款,那将是很好的.然后,如果门票被卖给别人,我可以说"不".但我不认为这是可能的贝宝.

concurrency payment paypal race-condition conditional-statements

8
推荐指数
1
解决办法
1373
查看次数

这是什么?C++中的运算符吗?

考虑这个功能

template<class T> inline bool cx(T &a, T b) {return a < b ? a = b, 1 : 0;}
Run Code Online (Sandbox Code Playgroud)

任何人都能解释这究竟是做什么的吗?它似乎与典型的condition ? true : false格式不同.

c++ conditional-statements

8
推荐指数
1
解决办法
271
查看次数

将数据帧中的行替换为0,前面的行值不同于0

这是我的数据帧的一个例子:

df = read.table(text = 'a  b
120 5
120 5
120 5
119 0
118 0
88 3
88 3
87 0  
10 3
10 3
10 3
7 4
6 0
5 0
4 0', header = TRUE)
Run Code Online (Sandbox Code Playgroud)

我需要将col中的0替换为b前面不同于0的数字.

这是我想要的输出:

 a  b
120 5
120 5
120 5
119 5
118 5
88 3
88 3
87 3  
10 3
10 3
10 3
7 4
6 4
5 4
4 4
Run Code Online (Sandbox Code Playgroud)

到现在为止我试过:

df$b[df$b == 0] …
Run Code Online (Sandbox Code Playgroud)

replace r rows conditional-statements dataframe

8
推荐指数
2
解决办法
156
查看次数

如何过滤具有多个整数条件和键值的 JSON 对象数组

我正在为 VueJS 中的交互式搜索过滤器苦苦挣扎(这是一个带有下拉菜单和范围 @ codepen 的应用程序

一条船有BrandName、BrandYear、Price...我已经能够使用 过滤它们selected = {...},但我想知道如何最好地利用if-statement下面的内容,以确定价格并检查最小值/最大值并通过传递返回结果expected_selected = {...}

我正在寻找有关如何与以下代码一起过滤最小值/最大值的解释/帮助。

目标是输入最小值和最大值以及一个或多个匹配的键值

var boats = [{
  Price: 599900,
  BrandName: "FLIPPER",
  BoatYear: 2020,
}, {
  Price: 97e3,
  BrandName: "MICORE",
  BoatYear: 2020,
}, {
  Price: 189300,
  BrandName: "LINDER",
  BoatYear: 2020,
}, {
  Price: 396900,
  BrandName: null,
  BoatYear: 2020,
}, {
  Price: 334900,
  BrandName: "MICORE",
  BoatYear: 2019,
}, {
  Price: 138700,
  BrandName: "HR",
  BoatYear: 2020,
}, {
  Price: 178900,
  BrandName: "HR",
  BoatYear: …
Run Code Online (Sandbox Code Playgroud)

json filtering filter conditional-statements vue.js

8
推荐指数
1
解决办法
380
查看次数

在 Clojure 中使用 multimethods 代替 cond 有什么好处?

为什么 Clojure 中的 multimethods 不能简单地替换为 cond 表达式?

在查看了 Ch 中多方法的简单示例后,我受到启发提出了问题。Russ Olsen 的《Getting Clojure》一书中的 5 篇。

在对类似问题(Clojure 中多方法与 cond 的性能)的回复中,用户 Daniel Compton 说

多方法允许开放扩展;其他人可以扩展您对任意表达式的多方法调度。Cond 表达式对其他人甚至您自己的代码的扩展是封闭的。

但是我完全不清楚在这种情况下“开放扩展”和“封闭扩展”是什么意思,因为在我看来,multimethods 和 cond 表达式都可以很容易地编辑或扩展。

那么......为什么不应该简单地用 cond 表达式替换 Clojure 中的多方法?

或者,等效地,如何或何时使用多方法比使用 cond 更好或更优雅?

polymorphism clojure conditional-statements

8
推荐指数
1
解决办法
237
查看次数