2011-04-20 10 views
6

Tengo una aplicación de consola con un método Main y una función.¿Cómo se llama a un método desde static main()?

¿Cómo puedo hacer una llamada a la función desde el método Main?

sé que el código de abajo no funcionará

static void Main(string[] args) 
{    
    string btchid = GetCommandLine();// GetCommandline is a mthod which returns a string 
} 
+3

Es GetCommandLine() un método estático? – Catch22

+5

La mejor manera de recordar los conceptos básicos cuando los olvida, es estudiarlos de nuevo. Al menos eso es lo que hago. –

Respuesta

13

También hay

var p = new Program(); 
string btchid = p.GetCommandLine(); 
9

Hacer el GetCommandLinestatic!

namespace Lab 
{ 
    public static class Program 
    { 
     static string GetCommandLine() 
     { 
      return "Hellow World!"; 
     } 

     static void Main(string[] args) 
     { 
      System.Console.WriteLine(GetCommandLine()); 
      System.Console.ReadKey(); 
     } 
    } 
} 
+0

Wow :) Hecho ... Gracias – Priyanka

+1

No hay problema :-). Buena suerte con el dominio de lo básico otra vez! –

1

Puede cambiar la función como estática y llamarla. Eso es todo.

0

GetCommandLine debe ser una función estática

0

string btchid = classnamehere.GetCommandLine(); Suponiendo que GetCommandLine es estática

0

Algo como esto:

[STAThread] 
static void Main(string[] args) { 
    string btchid = GetCommandLine();// GetCommandline is a mthod which returns a string 
} 

static string GetCommandLine(){ 
    return "Some command line"; 
} 
0
static class Program 
{   
    [STAThread] 
    static void Main() 
    { 
     string btchid = Program.GetCommandLine(); 
    } 

    private static string GetCommandLine() 
    { 
     string s = ""; 
     return s; 
    } 
} 
0

Un enfoque de búsqueda lineal a su problema:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 

namespace LinearSearch 
{ 
class Program 
{ 

    static void Main(string[] args) 
    { 
     int var1 = 50; 
     int[] arr; 
     arr = new int[10]{10,20,30,40,50,60,70,80,90,100}; 
     int retval = linearsearch(arr,var1); 
     if (retval >= 1) 
     { 
      Console.WriteLine(retval); 
      Console.Read(); 
     } 
     else 
     { Console.WriteLine("Not found"); Console.Read(); } 
    } 

    static int linearsearch(int[] arr, int var1) 
    { 
     int pos = 0; 
     int posfound = 0; 
     foreach (var item in arr) 
     { 
      pos = pos + 1; 
      if (item == var1) 
      { 
       posfound = pos; 
       if (posfound >= 1) 
        break; 
      }  
     } 
     return posfound; 
    } 
} 
} 
Cuestiones relacionadas