Start 2 different method with different Time

hello guys, am looking to solve this problem.

using UnityEngine;
using System.Collections;

public class test : MonoBehaviour {
    public int i = 0;
    // Use this for initialization
    void Start()
    {                                                   //The Result i want Should be :
        while (i < 10)                                  //Method 1 : 0
        {                                               //Method 2 : 1
            //????                                      //Method 1 : 2
            StartCoroutine(method1(2f));                //Method 1 : 3
            StartCoroutine(method1(3f));                //Method 2 : 4
        }                                               //Method 1 : 5
    }                                                   //Method 2 : 6
                                                        //Method 1 : 7
    IEnumerator method1(float seconds)                  //Method 1 : 8
    {                                                   //Method 2 : 9
        print("Method 1 : " + i++);
        yield return new WaitForSeconds(seconds);
    }

    IEnumerator method2(float seconds)
    {
        print("Method 1 : " + i++);
        yield return new WaitForSeconds(seconds);
    }
    
}

if(i %2 == 0){} if num can be divided by two its even
if(i %2 == 1){} if num can be diveded by two and has remainder 1 its odd
I also fixed your code a bit :

using UnityEngine;
using System.Collections;

public class test : MonoBehaviour {
	public int i = 0;
	float sec1 = 2f;
	float sec2 = 3f;
	// Use this for initialization
	IEnumerator Start()
	{                                                  
		while(i < 10){
			if(i%2==0){  
				yield return new WaitForSeconds(sec1);
				method1(); 
			}
			if(i%2==1) {
				yield return new WaitForSeconds(sec2);
				method2(); 
			}   
		}                                          
	}                                                  
														
	void method1()                 
	{     
		print("Method 1 : " + i++);						
	}
	
	void method2()
	{
		print("Method 2 : " + i++);
	}
}

In start you can use else instead off " if(i%2==1) "
And you can also get rid off sec1 and sec2 declaration and replace it in the WaitForSec method that was for easier testing only.

yield return new WaitForSeconds(2.5f); // change 2.5f to whatever number you want

What about Invoke? “Invokes the method methodName in time seconds.”

http://docs.unity3d.com/ScriptReference/MonoBehaviour.Invoke.html