Use it as
int time2Intvar1;
bool isOK = int.TryParse(time2var[0],out time2Intvar1);
For more information see
문제
When trying to cast an int from an array string value in the following code;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace hourscount
{
class Program
{
static void Main(string[] args)
{
string delimiter = ":";
string time1 = Console.ReadLine();
string time2 = Console.ReadLine();
if (time1 == null || time2 == null)
{
Console.WriteLine("Program expects two values!");
Console.ReadLine();
}
else
{
string[] time1var = time1.Split(new string[] {delimiter}, StringSplitOptions.None);
string[] time2var = time2.Split(new string[] { delimiter }, StringSplitOptions.None);
int time2Intvar1 = int.TryParse(time2var[0]);
int time1Intvar1 = int.TryParse(time1var[0]);
int time2Intvar2 = int.TryParse(time2var[1]);
int time1Intvar2 = int.TryParse(time1var[1]);
int realHours = (time2Intvar1 - time1Intvar1);
Console.ReadLine();
}
}
}
}
I am getting the following error; Error 1 No overload for method 'TryParse' takes 1 argument
해결책
Use it as
int time2Intvar1;
bool isOK = int.TryParse(time2var[0],out time2Intvar1);
For more information see
다른 팁
You need to provide the out
parameter for int.TryParse
:
int time2Intvar1;
bool canBeParsed = int.TryParse(time2var[0], out time2Intvar1);
It is initalized afterwards.