Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 根据另一个表中特定列的值计数随机翻转值_C# - Fatal编程技术网

C# 根据另一个表中特定列的值计数随机翻转值

C# 根据另一个表中特定列的值计数随机翻转值,c#,C#,对于table fruits中的一行,在table market中创建的两行在除status列之外的所有列中都具有相同的值。如果fid=mid,fnumber=mnumber,fquantity=mquantity,并且如果匹配的行fstatus=yellow,则我希望将其mstatus翻转为“已售出” 我无法理解什么逻辑可以被使用。我必须使用C语言。我写的代码显然不起作用。有人能告诉我该怎么办吗 部分代码/伪代码: foreach (DataRow f in fruitsDS.Tables["

对于table fruits中的一行,在table market中创建的两行在除status列之外的所有列中都具有相同的值。如果fid=mid,fnumber=mnumber,fquantity=mquantity,并且如果匹配的行fstatus=yellow,则我希望将其mstatus翻转为“已售出”

我无法理解什么逻辑可以被使用。我必须使用C语言。我写的代码显然不起作用。有人能告诉我该怎么办吗

部分代码/伪代码:

foreach (DataRow f in fruitsDS.Tables["fruits"].Rows)
{
    foreach (DataRow m in marketDS.Tables["market"].Rows)
    {
        if (m.mid == f["fid"].ToString() && m.mnumber == f["fnumber"].ToString() && 
            Math.Abs(m.mquantity).Equals(f["fquantity"]))
        {
            if (f["fstatus"].ToString() == "black" && m.mstatus == "packed")
            {
                m.quantitystatus = "FORECAST";
            }
        }
    }
}
实际表格:

Market          
market  mid  mnumber  mquantity  mstatus
p       1    102      100        packed
p       1    101      100        packed
p       1    101      100        packed
p       1    103      200        packed
m       1    102      100        packed
m       1    101      100        packed
m       1    101      100        packed
m       1    103      200        packed

Fruits  
fid  fnumber  fquantity  fstatus
1    101      100        black
1    102      100        yellow
1    101      100        black
1    103      200        yellow
预期结果:

Market          
market  mid  mnumber  mquantity  mstatus
p       1    102      100        sold
p       1    101      100        packed
p       1    101      100        packed
p       1    103      200        sold
m       1    102      100        sold
m       1    101      100        packed
m       1    101      100        packed
m       1    103      200        sold

Fruits  
fid  fnumber  fquantity  fstatus
1    101      100        black
1    102      100        yellow
1    101      100        black
1    103      200        yellow

例如:在水果中,两行的fid、fnumber和fquantity相同,即1、101和100,但F状态“黑色”和“黄色”不同。为market表中的每条记录创建两行,但购买状态相同,因此无法区分,因为所有其他值都相同。如果有一个“黄色”,我想翻转市场表中的两行,一行的市场价值为“p”,另一行的市场价值为“m”,表示fid=mid、fnumber=MNNUMBER和fquantity=mquantity。在C#中如何做到这一点?

quantitystatus和mquantity之间有什么区别?我在您的表中没有看到QuantityStatus对应的列在您发布的表中,您有两行1、101、100,具有相同的fstatus黑色-为什么您说它不同?