Ejemplo n.º 1
0
        public static VariantCollection Create(Language?lang, Script?script, IEnumerable <Variant> variants)
        {
            VariantCollection.Builder builder = null;
            foreach (var variant in variants)
            {
                if (builder == null)
                {
                    builder = new VariantCollection.Builder(lang, script);
                }

                builder.Append(variant);
            }

            return((builder == null) ? new VariantCollection() : builder.ToCollection());
        }
Ejemplo n.º 2
0
        internal static VariantCollection TryParse(Language?lang, Script?script, LanguageTag.TokenEnumerator tokens)
        {
            var variant = tokens.TryParseVariant();

            if (!variant.HasValue)
            {
                return(new VariantCollection());
            }

            var builder = new VariantCollection.Builder(lang, script);

            do
            {
                builder.Append(variant.Value);
                variant = tokens.TryParseVariant();
            }while (variant.HasValue);

            return(builder.ToCollection());
        }