C # Primeiros passos 3

índice

função

definição

Matriz de parâmetros

Parâmetro de referência

Parâmetros de saída

Sobrecarga de função


Esta seção apresenta funções

 

função

definição

static <returnType> <functionName>(<paramType> <paramName>,...)
{
    ......
    return returnValue;
}

esp: A função que executa uma linha de código pode usar uma função introduzida em C # 6, o método do corpo da expressão é usado para realizá-la, use =>

static <returnType> <functionName>() => x*y

//等价
static <returnType> <functionName>(x,y)
{
    return x*y;
}

Matriz de parâmetros

A matriz de parâmetros é um parâmetro especial. No final do parâmetro de definição da função, um número indefinido de parâmetros é permitido para chamar a função. Use a palavra-chave params para definir

static <returnType> <functionName>(<p1Type> <p1Name>,...,params <type>[] <name>)
{
    ...
    return <returnValue>;
}

//调用
<functionName>(<p1>,...,<val1>,<val2>,...)

//eg
static int sumVals(params int[] data)
{
    int sum = 0;
    foreach (int val in data)
        sum += val;
    return sum;
}
static void main(string[] args)
{
    int sum = sumVals(1,2,3,4,5);
    Console.Write(sum);
    
    return 0;
}

Deve-se notar que <val1>, <val2>, etc. são todos valores do tipo type, que são usados ​​para inicializar o array de nomes. O número de parâmetros que podem ser especificados não é limitado, mas devem ser do tipo <tipo>

Parâmetro de referência

Normalmente, os parâmetros passados ​​são passados ​​por valor e não afetarão a variável original. Mas se você quiser modificar os parâmetros passados ​​através da função, uma maneira é passar por referência, use a palavra-chave ref para especificar os parâmetros

static <returnType> <functionName>(ref <type> <val>)

Nota:

  1. A passagem por referência só pode passar variáveis
  2. A variável referenciada deve ser inicializada, C # não permite supor que o parâmetro ref seja inicializado na função que o utiliza
  3. Além de especificar o nome da variável, passe o parâmetro de referência com ref

Parâmetros de saída

Para alterar o valor do parâmetro, além de passar por referência, você também pode usar a palavra-chave out. O parâmetro especificado retornará o valor para a variável na chamada de função após a execução da função.

static <returnType> <functionName>(out <type> <val>)

//eg:调用
sum(out int[] data)

Nota:

  1. Atribuir uma variável não atribuída ao parâmetro ref é ilegal, mas pode ser atribuída ao parâmetro out
  2. Ao usar o parâmetro out, ele deve ser considerado como uma variável não atribuída, o que é equivalente à reinicialização na função
  3. Os parâmetros de passagem precisam usar a palavra-chave out

Sobrecarga de função

A sobrecarga de funções permite a criação de várias funções com o mesmo nome, e cada função pode usar diferentes tipos de parâmetros. Desta forma, não é necessário especificar explicitamente qual função usar, e a função correspondente pode ser executada de acordo com o tipo de parâmetro usado. É importante notar que você não pode definir duas funções com o mesmo nome que retornam apenas valores diferentes.

static void f(out int v)
{
    v = 0;
    Console.Write($"v1{v}\n");
}

static void f(ref double v)
{
    v = 1;
    Console.Write($"v2{v}\n");
}

static void Main(string[] args)
{
    //调用哪个函数看参数类型
    //int sum = 5;
    double sum = 10.0;
    f(ref sum);
    Console.Write(sum);
}

 

Acho que você gosta

Origin blog.csdn.net/wyzworld/article/details/112639369
Recomendado
Clasificación