我正在实现一个TryParse(字符串s,Out对象结果)方法.如果解析失败,我不想触摸out参数,因此任何先前的结果将保持不变.但VS2k8不会让我.无论如何,我必须设置out对象的值.
我是否应该为了取悦编译器而放置result = result?我错过了什么吗?
Enum.TryParse(,, out)在c#中不支持vs2008?为什么?我试图使用但得到TryParse没有定义的错误.
我想知道在Objective-C中如何判断字符串是否表示布尔值.该[string boolValue]方法不起作用,因为当我尝试解析字符串时,[@"ERROR" boolValue]它返回NO而不是抛出异常.在C#中,我可以执行以下操作:if (Boolean.TryParse(string, out bool)),但据我所知,这在Objective-C中不可用,因为BOOL类型不是面向对象的.我是否必须编写自己的BOOL解析器类?或者有什么我缺少的(NSScanner例如)?
char typeClient = ' ';
bool clientValide = false;
while (!clientValide)
{
Console.WriteLine("\nEntrez le type d'employé (c ou g) : ");
clientValide = char.TryParse(Console.ReadLine(), out typeClient);
if (clientValide)
typeClient = 'c';
}
Run Code Online (Sandbox Code Playgroud)
我想这样做它不会退出,除非char是'g'或'c'帮助!:)
这是我使用Int32.TryParsewith if条件的代码片段.(控制台应用程序)
Console.WriteLine("Enter the no of the person(value for n)");
string number = Console.ReadLine();
Console.WriteLine("Enter the no of the bulb whose state you want to check(value for x)");
string bulbNumber = Console.ReadLine();
if ((Int32.TryParse(number, out n)) || (Int32.TryParse(bulbNumber, out x)))
{
}
Run Code Online (Sandbox Code Playgroud)
如果我们在quickwatch中检查n的值,那么它会正确捕获您输入的值,但如果您检查x的值,则会出乎意料地为0! - 任何想法如何克服这个?我想知道造成这种异常的原因.
我TryParse在控制台应用程序中有一个简单的问题.
看一看:
string DepartureTimeString = Console.ReadLine(); // Enter 2015 01 11 22 45 30
// DepartureTimeString = 2015 01 11 22 45 30
string DepartureTimeStringTrim = DepartureTimeString.Replace(" ", "");
// DepartureTimeStringTrim = 20150111224530
Analyseur = int.TryParse(DepartureTimeStringTrim, out Resultat);
// Analyseur = false
Run Code Online (Sandbox Code Playgroud)
'Analyseur'是假的..
字符串是20150111224530 ..它只是一个int ..
我已经检查了VS中的数据以确定.
问题出在哪儿?
我现在正试图将格式转换为日期yyyy/MM/dd.检查是否给出了有效日期.
if(!DateTime.TryParse(textBoxDatumVanStorting.Text, out Test2))
Run Code Online (Sandbox Code Playgroud)
是我现在使用的,但它总是给我一个错误的约会.
我已经注意使用了DateTime.TryParseExact.但似乎不能让这个工作.
我正在使用DNN表单构建模块,该模块允许根据条件运行某些服务器端代码.对于我的特定场景,如果某个表单文本的前4个字符是数字,我需要运行我的代码块.
但是,键入条件的空间只有一行,我相信会if在幕后的某个地方注入一个语句,因此我没有能力编写多行条件.
如果我有一个表单字段MyField,我可能会创建一个简单的条件,如下所示:
[MyField] == "some value"
Run Code Online (Sandbox Code Playgroud)
然后在幕后的某个地方,它被翻译成类似的东西 if("some value" == "some value") {
我知道int.TryParse()可以用来判断一个字符串是否是数字,但是我看到的每个实现都需要两行代码,第一行声明一个变量来包含转换后的整数,第二行来运行实际函数.
有没有办法检查一个字符串的前4个字符是否只是一行中可以存在的if语句中的数字?
我有以下方法:
private DateTime GetDateTimeFromString(string dateTimeStr)
{
try
{
return DateTime.Parse(dateTimeStr, CultureInfo.InvariantCulture);
}
catch (Exception ex)
{
_logger.Log($"Exception while parsing {dateTimeStr}: {ex.Message}.");
return DateTime.Now;
}
}
Run Code Online (Sandbox Code Playgroud)
当我在 Visual Studio 中运行它时,它工作正常。但是当它部署到 Azure 时它失败了。错误是:
解析 21/4/2019 11:6:56 时出现异常:String 未被识别为有效的 DateTime。
我在调试器中粘贴21/4/2019 11:6:56,它有效。醉了。有人可以帮忙吗?
请注意,无论是否使用 CultureInfo,它都会在 Azure(作为 Web 应用程序)上失败。
同样在 Azure 上,我的 web.config 设置为:
<globalization culture="" uiCulture="" />
Run Code Online (Sandbox Code Playgroud) 我正在做Udemy课程,并试图完成一个练习,要求用户输入数字,或者如果我写“ quit”,则中断循环。循环后,我必须对所有数字求和。
我几乎可以正常工作了,但是我不得不写两次 “退出” 才能使其崩溃,但我不明白为什么。感谢任何帮助
int[] total = new int[10];
int number;
int counter = 0;
Console.WriteLine("Write up to 10 number or 'quit' to exit early");
while (counter < 10)
{
bool success = int.TryParse(Console.ReadLine(), out number);
if (success == true)
{
total[counter] = number;
counter++;
} else if (Console.ReadLine() == "quit")
{
break;
} else
{
Console.WriteLine("Wrong input.");
}
}
int sum = total.Sum();
Console.WriteLine("The sum is {0}", sum);
Run Code Online (Sandbox Code Playgroud) tryparse ×10
c# ×9
.net ×2
datetime ×2
boolean ×1
console ×1
dotnetnuke ×1
enums ×1
if-statement ×1
int ×1
nsstring ×1
objective-c ×1
parsing ×1
string ×1
while-loop ×1