input: Write a function to convert a given Python program to a C# program. The function should take the Python code as input and return the equivalent C# code as output. If the input Python code is empty, return an empty string.
  
  ### Example Input:
  def power(x, y):
      if y == 0:
          return 1
      else:
          return x * power(x, y - 1)
  
  ### Example Output:
  public int Power(int x, int y)
  {
      if (y == 0)
      {
          return 1;
      }
      else
      {
          return x * Power(x, y - 1);
      }
  }
  
  ### Test Cases:
  
  assert convert_to_csharp("def power(x, y):\n    if y == 0:\n        return 1\n    else:\n        return x * power(x, y - 1)") == "public int Power(int x, int y)\n{\n    if (y == 0)\n    {\n        return 1;\n    }\n    else\n    {\n        return x * Power(x, y - 1);\n    }\n}"
  assert convert_to_csharp("") == ""
  
output: def convert_to_csharp(python_code):
      if not python_code:
          return ""
      
      lines = python_code.split('\n')
      csharp_code = []
      
      for line in lines:
          line = line.strip()
          if line.startswith("def "):
              line = line.replace("def ", "public ").replace(":", "")
              line = line.replace("(", "(int ").replace(",", ", int")
              csharp_code.append(line + "\n{")
          elif line.startswith("if "):
              line = line.replace("if ", "if (").replace(":", ")")
              csharp_code.append("    " + line + "\n    {")
          elif line.startswith("else:"):
              csharp_code.append("    else\n    {")
          elif line.startswith("return "):
              line = line.replace("return ", "return ")
              csharp_code.append("        " + line + ";")
          elif line == "":
              csharp_code.append("    }")
      
      csharp_code.append("}")
      return "\n".join(csharp_code)