Get a string representation of flags. : String Format « Data Types « C# / C Sharp






Get a string representation of flags.

    
        

using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;
using System.IO;

namespace Vestris.ResourceLib
{
    /// <summary>
    /// Resource utilities.
    /// </summary>
    public abstract class ResourceUtil
    {
        /// <summary>
        /// Get a string representation of flags.
        /// </summary>
        /// <typeparam name="T">Flag collection type.</typeparam>
        /// <param name="flagValue">Flag vlaue</param>
        /// <returns>String representation of flags in the f1 | ... | fn format.</returns>
        internal static string FlagsToString<T>(UInt32 flagValue)
        {
            List<string> flags = new List<string>();
            flags.AddRange(FlagsToList<T>(flagValue));
            return String.Join(" | ", flags.ToArray());
        }
        /// <summary>
        /// Get a collection of flags from a flag value.
        /// </summary>
        /// <typeparam name="T">Flag collection type.</typeparam>
        /// <param name="flagValue">Flag value.</param>
        /// <returns>Collection of flags.</returns>
        internal static List<string> FlagsToList<T>(UInt32 flagValue)
        {
            List<string> flags = new List<string>();

            foreach (T f in Enum.GetValues(typeof(T)))
            {
                UInt32 f_ui = Convert.ToUInt32(f);
                if ((flagValue & f_ui) > 0 || flagValue == f_ui)
                {
                    flags.Add(f.ToString());
                }
            }

            return flags;
        }
    }
}

   
    
    
    
  








Related examples in the same category

1.use the Format() method to format a string
2.Use the static String.Format() method to build a new string.
3.Fill placeholders using an array of objects.
4.Format a string
5.Use string.Format to format integer
6.The comma (,M) determines the field width and justification.
7.Control the width
8.left justify and align a set of strings to improve the appearance of program output
9.|{0,10:X}|{1,10}|{2:X}|{3}|
10.{0,4} {1,4} {2,4} {3,4} {4,4}
11.Format with {0:F}
12.Formats a string to an invariant culture
13.Formats a string to the current culture.
14.Clean \t (tab), \r from strings
15.Pad String
16.Convert the string e.g. fooBar to sentance case: FooBar
17.Formats the specified size as a string.
18.Converts a space delimited string into a single, compound pascal case string
19.To String Camel Case
20.Format Array To Comma Delimited String
21.Split the multi-line output into separate line strings
22.Escape and unescape string
23.Convert Size to String
24.Format the given string using the provided collection of objects.
25.Reads count number of characters and returns them as a string with any null terminators removed.
26.Truncate On Word Boundary
27.Camel/uncamel cases the specified input
28.Camel Case
29.To First Upper Case
30.To Pascal Case
31.Split Camel Case
32.Proper Case
33.Strips all illegal characters from the specified title
34.Appends a space before all capital letters in a sentence, except the first character.
35.Remove Illegal Characters
36.Remove Diacritics
37.StripSpaces removes spaces at the beginning and at the end of the value and replaces sequences of spaces with a single space
38.Display value in a grid
39.Amazon SimpleDB Util
40.Get the last word
41.Implementation of the Infelctor in Ruby that transforms words from singular to plural
42.Strips all illegal characters from the specified title.