मैं उसके लिए कोड लिखने की आवश्यकता के बिना या System.Drawing.Colorसे एक मूल्य से बनाना चाहता हूं । उसके लिए कोई .NET बिल्ट-इन पार्सर है?#FF00FFFF00FF
जवाबों:
ColorTranslator.FromHtml("#FF00FF");
जब आप Convert-Class का उपयोग करते हैं तो यह आसान होता है । ToInt32समारोह एक दूसरा पैरामीटर जो आधार स्ट्रिंग में है का प्रतिनिधित्व करता है के साथ एक अधिभार नहीं है।
using System.Drawing
Color yourColor = Color.FromARGB(Convert.ToInt32("FF00FF", 16));
ColorConverter वर्ग का उपयोग करें :
var converter = System.ComponentModel.TypeDescriptor.GetConverter( typeof( Color ) );
color = converter.ConvertFromString( "#FF00FF" );
यह मानक नाम रंगों जैसे ConvertFromString ("ब्लू") से भी परिवर्तित हो सकता है
मानक .NET प्रकार के रूपांतरण तंत्र की चर्चा के लिए यहां देखें ।
यदि आप जिस रंग का उपयोग करना चाहते हैं, वह C # उपयोग में एक स्थिर है System.Drawing.Color.FromArgb (0xFF00FF)। यह थोड़ा System.Drawing.Color.FromNameया उससे भी तेज है System.Drawing.Color.FromHtml, क्योंकि एक स्ट्रिंग से पूर्णांक तक पार्सिंग रनटाइम के बजाय संकलन समय पर किया जाता है।