Я часто хочу разбирать строку в разные биты и иметь читаемый способ вернуть их.Есть ли более простой способ вернуть поля из статической функции?
Мне нравится этот подход, но он включает в себя создание определенного класса
long orderID = Utils.UnTradeIdent(tradeIdent).OrderID;
В Utils.cs:
public class TradeIdentData
{
public string AccountIdent;
public long OrderID;
public string SubID;
}
public static TradeIdentData UnTradeIdent(string tradeIdent)
{
TradeIdentData tradeIdentData = new TradeIdentData();
var parts = tradeIdent.Split('!');
tradeIdentData.AccountIdent = parts[0];
if (parts[1].Contains("."))
{
var bits = parts[1].Split('.');
tradeIdentData.OrderID = long.Parse(bits[1]);
tradeIdentData.SubID = bits[1];
}
else
{
tradeIdentData.OrderID = long.Parse(parts[1]);
tradeIdentData.SubID = "";
}
return tradeIdentData;
}
С предстоящей C# 7 вы можете использовать встроенную функцию кортежа: http://stackoverflow.com/documentation/c%23/1936/c-sharp-7-0-features/6329/language- поддержка для кортежей # t = 201609211453403656236 – Nico
Описание того, что вы возвращаете, это неплохая идея. –