c# - C#检查字符串是否存在,如果存在则显示该字符串
问题描述
如何从与我的字符串匹配的循环中获取单个值。
我有一个符号列表,有时包含超过 6 个字符。
使用当前代码,我从列表中获取最后一个符号。
所以我想做的是:
- 搜索超过 6 个字符的特定符号,例如。欧元美元#1
- 如果存在,则仅显示 EURUSD#1
- 如果它不存在加载 EURUSD
这是下面的代码和图像,因此您可以查看所有符号列表。
string defaultSymbol = "";
// get all symbols from market watch
foreach (string symbol in mt4.Symbols)
{
Console.WriteLine(symbol);
// if symbol length is greater that 6, there is a special symbol ex. EURUSD-X, EURUSD#, EURUSD-AX
if (symbol.Length > 6)
{
// there is special symbol, ex. EURUSD#
if (symbol.Contains("EURUSD"))
{
defaultSymbol = symbol.ToString(); // special symbol ex. EURUSD-X or EURUSD# or EURUSD-AX ...
}
else if (symbol.Contains("AUSCAD"))
{
// load another symbol ex. AUSCAD-X, AUSCAD#
defaultSymbol = symbol.ToString(); // this need to load any other one that have more that 6 chars
}
}
else
{
// thsere is no special symbol, load EURUSD by default
// EURUSD exists
if (symbol.Contains("EURUSD"))
{
defaultSymbol = "EURUSD";
}
else
{
// load another symbol ex. AUSCAD if EURUSD don't exists
defaultSymbol = "AUSCAD";
}
}
}
Console.WriteLine("Symbol " + defaultSymbol);
测试字符串:
AUDNZD#
AUDUSD#
CADJPY#
CHFJPY#
EURAUD#
EURCAD#
EURCHF#
EURGBP#
EURJPY#
EURNZD#
EURUSD#
GBPAUD#
GBPCAD#
GBPJPY#
GBPNZD#
GBPUSD#
NZDJPY#
NZDUSD#
USDCAD#
USDCHF#
USDCNH#
USDJPY#
USDSGD#
USDTHB#
XAGUSD#
XAUUSD#
解决方案
你的问题不是很清楚。根据您发布的内容,您当前始终收到最后一个值,这是未预料到的。如果您只期望循环中的第一个匹配值,那么您必须在使用break;
语句找到匹配时中断循环。所以在下面几行之后把 4break;
放在你的循环中。
defaultSymbol = symbol.ToString(); break; //2places
defaultSymbol = "EURUSD"; break;
defaultSymbol = "AUSCAD"; break;
但在这种情况下,您只会获得第一个匹配值,这取决于您的内部序列m4.Symbols
您的代码可能有更多额外的逻辑。如果您可以告诉我们 m4.Symbols 的类型并在 m4.Symbols 中发布一些示例值并告诉我们示例预期输出,那么我可以为您提供更详细的帮助
推荐阅读
- c++ - Visual Studio Code:代码未针对 C++11 运行
- liferay-7 - 用于页面删除的自定义 Kaleo 工作流程
- azure - 间隔一个月后手动执行 Runbook 时出现模块无法加载错误
- php - Codeigniter 导航栏类别保留在默认控制器上
- android - 安卓账户
- spring-security - 为 Spring Security oAuth2 登录添加自定义参数
- katalon-studio - Katalon API 测试,如何访问响应标头位置?
- docker - rabbitmq rabbit.conf 文件中的未知变量“management.load_definitions”
- julia - 无法访问 JuMP.variable 的第一个元素
- xml - xsl 从列表中检索属性值