4 votes

Existe-t-il un équivalent en C# de la fonction addbs() de FoxPro ?

Dans Visual FoxPro. il existe une fonction addbs(), à laquelle vous passez une chaîne de caractères.

S'il n'y a pas de barre oblique inversée à la fin de la chaîne (coupée), il en ajoutera une. S'il y a une barre oblique inverse, il retournera la chaîne découpée.

lcString = 'C:\Example'
lcNewString = addbs(lcString)
?lcNewString

Output:
C:\Example\

Existe-t-il une fonction équivalente en C# ?

5voto

Baszz Points 5779

Peut-être que le Chemin d'accès classe peut vous aider ici ? Par exemple, la méthode combine().

1voto

Corak Points 1697

Comme les autres l'ont déjà dit, vous voulez probablement utiliser Path.Combine

Cependant, vous pouvez facilement créer votre propre méthode pour le faire :

public string AddBS(string value)
{
    return value.EndsWith("\\") ? value : value + "\\";
}

Pour le rendre plus générique, je suggérerais de créer une extension du type :

public static class StringExtensions
{
    public static string AddSuffix(this string value, string suffix)
    {
        return value.EndsWith(suffix) ? value : value + suffix;
    }
}

1voto

MattSlay Points 1392

Il y a un " Kit d'outils Visual FoxPro pour .NET "qui contient des bibliothèques C# et VB permettant d'intégrer de nombreuses fonctions FoxPro dans .Net.

http://foxcentral.net/microsoft/vfptoolkitnet.htm

Visual FoxPro Toolkit for .NET est une bibliothèque de classes comprenant plus de 225 fonctions Visual FoxPro utilisables avec n'importe quel langage .NET. La DLL VFPToolkitNET.DLL incluse est une DLL de code géré .NET (pas un wrapper COM) et ne nécessite pas Visual FoxPro. Les fonctions prises en charge s'exécutent extrêmement rapidement car elles sont toutes écrites en .NET et compilées dans une DLL .NET en code géré. Un fichier d'aide CHM autonome de référence et de didacticiel est inclus, ainsi qu'une aide dynamique intégrée à Visual Studio .NET utilisant le même fichier d'aide CHM. L'IntelliSense complet et l'aide dynamique sont activés pour les fonctions VFP lors de la programmation dans n'importe quel langage .NET. En utilisant le VFP Toolkit ou .NET, la plupart des fonctions Visual FoxPro sont disponibles dans Visual Basic .NET ou tout autre langage .NET. Des fonctions comme STRTOFILE() permettent de convertir une chaîne de caractères en fichier en une seule ligne de code.

plus loin, il est dit ceci :

Le kit d'outils Visual FoxPro pour .NET n'enseigne pas aux développeurs la programmation Visual Studio .NET, mais il permet aux développeurs de faire de la programmation .NET beaucoup plus rapidement et d'écrire moins de code sur la base de ce qu'ils connaissent et de la façon dont ces fonctions réduisent le codage en général. Il ne s'agit pas d'une pseudo-syntaxe VFP, mais d'une "vraie" syntaxe VFP qui fonctionne le plus naturellement dans Visual Basic .NET puisqu'aucun espacement de noms n'est requis. Le Windows .NET Framework et Visual Basic .NET (ou tout autre langage .NET) doivent encore être appris. Ce kit d'outils permet d'aider les développeurs Visual FoxPro qui utilisent .NET, car la courbe d'apprentissage de la programmation .NET est beaucoup plus rapide lorsque ces fonctions sont disponibles. La boîte à outils Visual FoxPro pour .NET ne remplace aucun langage .NET. Il complète et améliore l'expérience et la productivité de la programmation en langage .NET.

0voto

Kapil Khandelwal Points 9909

Vous pouvez facilement le faire en utilisant le code suivant :

string lcString = @"C:\Example";

if(!lcString.Substring(lcString.Length -1, 1).Equals(@"\", StringComparison.InvariantCulture))
{
    lcString += @"\";
}

0voto

fero Points 2467

J'ai toujours utilisé path.TrimEnd('\\') + "\\" dans ce cas. Et comme j'utilisais ce code assez souvent, j'ai écrit une méthode d'extension :

public static string AddTrailingSlash(this string s, char slash = '\\')
{
    return s.TrimEnd(slash) + slash;
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X