c# - C#方法将一行刮入一个数组 - 返回时不传递数组
问题描述
我对 C# 还是很陌生,我一直在通过具有我想要实现的目标的项目来取得进展。
我陷入了一些相当笼统和简单的事情,它将帮助我理解和前进。
public Array ExtractRakeFromHand(string theline)
{
int rri = 0;
var rakeandpot = theline.Split().Where(x => x.StartsWith("("))
.Select(x => x.Replace("(", string.Empty).Replace(")", string.Empty))
.ToList();
var playerssplit = theline.Substring(theline.IndexOf("ers ("));
var pbreakdown = playerssplit.Substring(theline.IndexOf("("));
pbreakdown = pbreakdown.Remove(pbreakdown.Length - 1, 1);
var numofplayers = pbreakdown.Split(',');
(string player, double player_portion, double potsize, double rakesize, string hand)[] myar = new (string player, double player_portion, double potsize, double rakesize, string hand)[numofplayers.Length];
for (int iii = 0; iii < myar.Length; iii++)
{
myar[iii].rakesize = Double.Parse(rakeandpot[0]);
myar[iii].potsize = Double.Parse(rakeandpot[1]);
}
var values = pbreakdown.Split(',');
(string name, double value)[] result = new (string, double)[values.Length];
for (int ii = 0; ii < values.Length; ii++)
{
var splittedValue = values[ii].Split(':');
result[ii] = (splittedValue[0], Double.Parse(splittedValue[1], CultureInfo.InvariantCulture));
myar[rri].player = result[rri].name;
var ppot = (result[rri].value / myar[rri].potsize);
var ppotr = ppot * myar[rri].rakesize;
myar[rri].player_portion = ppotr;
rri++;
}
return myar;
}
我通过 var thedata = ExtractRakeFromHand(d) 调用此方法;
return 是一个不包含“Name”和“Rake”字段的对象。
我怎样才能让它以与创建相同的方式返回数组?
我试图添加这个类:
public class RakeHandParse
{
public string player { get; set; }
public double player_portion { get; set; }
public double potsize { get; set; }
public double rakesize { get; set; }
public string hand { get; set; }
}
但我不确定如何在代码中使用它来取回完整的细节。
非常感谢 !
解决方案
代替public Array ExtractRakeFromHand(string theline)
和public (string player, double player_portion, double potsize, double rakesize, string hand)[] ExtractRakeFromHand(string theline)
并调用:
(string player, double player_portion, double potsize, double rakesize, string hand)[] myar = ExtractRakeFromHand(d);
推荐阅读
- python - 为 Tesseract OCR 清理照片的方法?
- java - java - 无法访问将方法返回给另一个方法的java?
- javascript - 如何对不同类别的 Select2 标签进行分组
- python-3.x - 尝试使用创建表单时,{{form.as_table}} 的 django 模板出错
- c# - 仅修剪包含某些单词的字符串并将它们添加到 c# 中的字符串列表中
- c++ - 如何在两个 STL 容器之间移动 unique_ptr 对象
- powerbi - 我们可以为某些用户关闭 RLS 吗?
- sql - Laravel Eloquent 中有一些 WITH 子句?
- jquery - 猫头鹰轮播限制点分页
- python - 计算 ID 在随后的 180 天内出现的次数