Vérifier si la chaîne est numérique en une seule ligne de code

Je travaille avec un DNN forme de renforcement module qui permet pour certains de code côté serveur pour être exécuté sur la base d'une condition. Pour mon scénario, j'ai besoin de mon bloc de code à exécuter si les 4 premiers caractères d'une certaine forme de texte sont numériques.

L'espace pour le type de la condition, cependant, est seulement une ligne et je crois que obtient injecté dans un if déclaration de quelque part derrière les scènes, donc je n'ai pas la possibilité d'écrire un mult ligne conditionnelle.

Si j'ai un champ de formulaire appelé MyField, je pourrais créer une condition simple comme ceci:

[MyField] == "some value"

Puis, quelque part derrière les coulisses, il se traduit en quelque chose comme if("some value" == "some value") {

Je sais que int.TryParse() peut être utilisé pour déterminer si oui ou non une chaîne de caractères est numérique mais à chaque mise en œuvre que j'ai vu exige deux lignes de code, le premier à déclarer une variable pour contenir la conversion d'un nombre entier et la seconde pour exécuter la fonction réelle.

Est-il un moyen de vérifier pour voir si les 4 premiers caractères d'une chaîne de caractères sont numériques en une seule ligne qui peuvent exister à l'intérieur d'un if déclaration?

  • Est à l'aide d'une méthode d'extension hors de question d'utiliser TryParse?
  • certainement une méthode d'extension
  • Je n'ai jamais utilisé les méthodes d'extension. Googler pour voir comment les utiliser et je vais donner un coup de feu.
  • Depuis la a été injecté dans le code, je doute qu'une extension de la méthode pourrait être utilisée.
  • Double Possible de Comment puis-je déterminer si une chaîne est un nombre?
  • Ce n'est pas un doublon. J'ai besoin d'une solution en ligne, pas deux lignes.
  • Il existe plusieurs solutions de ligne dans les réponses fournies à cette question .
  • 1-liner à l'autre Q/A: bool b1 = Microsoft.VisualBasic.Information.IsNumeric("1"); //true
  • if (str.Take(4).All(c => c.IsDigit()) { ... }

InformationsquelleAutor TheIronCheek | 2016-08-08