Вопрос

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

http://www.dotnetperls.com/int-tryparse

http://msdn.microsoft.com/en-us/library/f02979c7.aspx

Другие советы

You need to provide the out parameter for int.TryParse:

int time2Intvar1;
bool canBeParsed = int.TryParse(time2var[0], out time2Intvar1);

It is initalized afterwards.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top