Reputation: 745
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
Upvotes: 0
Views: 240
Reputation: 35353
Use it as
int time2Intvar1;
bool isOK = int.TryParse(time2var[0],out time2Intvar1);
For more information see
http://www.dotnetperls.com/int-tryparse
http://msdn.microsoft.com/en-us/library/f02979c7.aspx
Upvotes: 4
Reputation: 460058
You need to provide the out
parameter for int.TryParse
:
int time2Intvar1;
bool canBeParsed = int.TryParse(time2var[0], out time2Intvar1);
It is initalized afterwards.
Upvotes: 4