संदर्भ: मैं अपने WinForms ऐप को WPF में परिवर्तित करने के लिए (शायद) के लिए prep में प्रोटोटाइप कर रहा हूं।यह अंतर्निहित कारण क्या है == तुलना विफल हो जाती है? (मेरे लिए आश्चर्यजनक परिणाम)
मैं बहुत ही सरल ट्री व्यू ईवेंट हैंडलर बनाने जिसके लिए कोड है:
var treeViewItem = (TreeViewItem)e.NewValue;
var treeViewItemTag = treeViewItem.Tag;
if (treeViewItemTag == "ViewForAMs")
{
ObjectQuery<AccountManagerView> oq = entities.AccountManagerViews;
var q =
from c in oq
select c;
dataGrid1.ItemsSource = q.ToList();
}
और XAML है:
<Window x:Class="AccountingWpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525" Loaded="Window_Loaded">
<DockPanel>
<TreeView Name="treeView1" ItemsSource="{Binding Folders}"
SelectedItemChanged="treeView1_SelectedItemChanged">
<TreeViewItem Header="Account Manager View" Tag="ViewForAMs"/>
</TreeView>
<DataGrid AutoGenerateColumns="True" Name="dataGrid1" />
</DockPanel>
</Window>
जब मैंने इसे भाग गया, मैं पूरी तरह से मेरे डेटा ग्रिड को देखने के लिए उम्मीद पॉप्युलेट प्राप्त करें लेकिन == तुलना उपरोक्त कोड की दूसरी पंक्ति पर विफल रही है।
प्रश्न:: क्यों वहाँ थे कोई संकलन या क्रम त्रुटियों
डिबगर यह दिखाता है? (वही सवाल एक और तरीका: क्या वास्तव में इस तरह की तुलना में किया जा रहा है कि == ऑपरेटर आउटपुट गलत?)
धन्यवाद, वह विस्तार का स्तर था जिसके बाद मैं था। –
मामूली विस्तार: स्ट्रिंग तुलना को संदर्भ तुलना करने के लिए पहले अनुकूलित किया गया है और फिर मूल्य तुलना करें। –
मामूली विस्तार जोड़ा गया: यह स्ट्रिंग इंटर्निंग के कारण है। – Femaref