مشکل با دستور Replace در سی شارپ
#1
Note 
سلام من از دستور زیر برای جایگذاری متن که به حروف حساس نباشه استفاده میکنم :

[CSHARP]
if (msg.Body.ToLower().Contains("english.persian."))
{
string add = null;
add = msg.Body.ToLower().Replace("english.persian.", "");
x.Send("<message type='chat' to='" + msg.From.User + "@nchat.ir' id='mir_8'><body></body></message>");
}
[/CSHARP]

Msg به ToLower و Contain گیر میده و مثله اینکه اصلا با اون سازگار نیست ( البته اینم بگم که تا آیدی آنلاین نشده ، این ارور در سی شارپ نمیاد)


این اروری هست که روی کامپیوتر های دیگه میاد :


کد:
See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.NullReferenceException: Object reference not set to an instance of an object.
   at RamTinTRBot.Form1.ramtin_OnMessage(Object sender, Message msg)


************** Loaded Assemblies **************
mscorlib
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.17929 built by: FX45RTMREL
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
----------------------------------------
RamTinTRBot
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///C:/Users/MRRAMT~1/AppData/Local/Temp/RarSFX0/RamTinTRBot.exe
----------------------------------------
System.Windows.Forms
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.17929 built by: FX45RTMREL
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.17929 built by: FX45RTMREL
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.17929 built by: FX45RTMREL
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
agsXMPP
    Assembly Version: 1.1.0.0
    Win32 Version: 1.1.0.0
    CodeBase: file:///C:/Users/MRRAMT~1/AppData/Local/Temp/RarSFX0/agsXMPP.DLL
----------------------------------------
System.Configuration
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.17929 built by: FX45RTMREL
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Xml
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.17929 built by: FX45RTMREL
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
Microsoft.VisualBasic
    Assembly Version: 10.0.0.0
    Win32 Version: 11.0.50709.17929 built by: FX45RTMREL
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/Microsoft.VisualBasic/v4.0_10.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
----------------------------------------
System.Core
    Assembly Version: 4.0.0.0
    Win32 Version: 4.0.30319.17929 built by: FX45RTMREL
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
WebResourceProvider
    Assembly Version: 1.0.2206.29497
    Win32 Version: 1.0.2206.29497
    CodeBase: file:///C:/Users/MRRAMT~1/AppData/Local/Temp/RarSFX0/WebResourceProvider.DLL
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.

پاسخ
#2
Note 
یادم رفت بگم اینم عکس ارور در سی شارپ:

[تصویر:  w6663_12.png]

[تصویر:  x4175_13.png]

پاسخ
#3
Note 
مقدار msg اینجا چیه؟ اصلا msg از چه نوعیه؟ با این کد که چیزی معلوم نیست

***********
پاسخ
#4
Note 
با این کد میتونی بفمی که متغیر از چه نوعیه اگر امکان داره سورس کاملتر بذار[CSHARP]
Console.WriteLine(msg.GetType());[/CSHARP]
در ضمن اصلا نیاز نیست که از if استفاده کنی (در صورتی که تو else کدی نداری)
خود تابع replace میگرده و اگر چنین چیزی تو string بود جایگزین و در غیر این صورت کاری انجام نمیده . پس نیازی به گذاشتن شرط اضافه نیست.

[CSHARP]string add = msg.Body.ToLower().Replace("english.persian.", "");
x.Send("<message type='chat' to='" + msg.From.User + "@nchat.ir' id='mir_8'><body></body></message>");[/CSHARP]

***********
پاسخ
#5
Note 
اینم پروژه کامل :

آخرین ویرایش: 02-05-2013 ساعت 21:33، توسط The Arrow
پاسخ
#6
Note 
یه .ToString() قبل .toLower() اضافه کن .Body رو حذف کن چون مقدارش null ــه

***********
پاسخ
#7
Note 
بازم گیر میده

پاسخ
#8
Note 
ویرایش کردم دوباره ببین Confusedmilingsmiley:

***********
پاسخ
#9
Note 
نگاه Body که حذف شه درست میشه اما جواب کاربر رو اینجور میده!!!!!
lt;پیام xmlns = سخن تند و ناشمرده: مشتری = pesarake.irani @ nimbuzz.com / NIMBUZZ XML: لنگ = EN نوع = چت از = zendegie.morde @ nimbuzz.com/nimbuzzdesktop30303 شناسه = دسکتاپ-000000000050 > <thread> {bec12372 f2be-4457-8566-d58094a6ac64} </ موضوع> های های <body> سلام </ body> <request xmlns=urnmpp:receipts /> <active xmlns=http://jabber.org/protocol/chatstates /> </ پیام> 22:00
lt;پیام xmlns = سخن تند و ناشمرده: مشتری = pesarake.irani @ nimbuzz.com / NIMBUZZ XML: لنگ = EN نوع = چت از = zendegie.morde @ nimbuzz.com/nimbuzzdesktop30303 شناسه = دسکتاپ-000000000050 > <thread> {bec12372 f2be-4457-8566-d58094a6ac64} </ موضوع> های های <body> سلام </ body> <request xmlns=urnmpp:receipts /> <active xmlns=http://jabber.org/protocol/chatstates /> </ پیام>

یعنی کد رو داغون میکنه اگه نباشه!!!!!!

پاسخ
#10
Note 
خب درستش باید چطوری باشه؟ پروژت شلوغه اصلا معلوم نیست چی به چیه
بعدش body اصلا هیچ جای برنامه مقدار دهی نمیشه بعد چطور میخوای ازش استفاده کنی؟

***********
پاسخ
ایجاد موضوع جدید   پاسخ به موضوع  

موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
Note کتاب آموزش Parse کردن یک خبر خوان وردپرسی برای ویندوزفون The Arrow 0 976 23-04-2015 ساعت 09:24
آخرین ارسال: The Arrow
Note سوال ساخت تقویم فارسی در ویندوز 8.1 The Arrow 2 987 16-01-2015 ساعت 00:32
آخرین ارسال: The Arrow
Note دیتابیس SQLite در سی شارپ The Arrow 3 2,421 07-11-2014 ساعت 22:40
آخرین ارسال: VBProgrammer
Note FileAssociation در سی شارپ The Arrow 1 566 05-11-2014 ساعت 12:32
آخرین ارسال: SOFTAFZAR
Note آموزش کامل سی شارپ (ویدئو) xMAN 2 682 02-10-2014 ساعت 12:50
آخرین ارسال: xMAN
Note غیر فعال کردن Output Box در ویژوال استودیو The Arrow 2 523 31-08-2014 ساعت 13:46
آخرین ارسال: xMAN
Note explorer سی شارپ cMan 1 484 30-08-2014 ساعت 12:07
آخرین ارسال: SOFTAFZAR
Note پیدا کردن متن در سی شارپ arfanz 7 876 27-08-2014 ساعت 01:10
آخرین ارسال: The Arrow
Note برنامه نویسی موازی با سی شارپ xMAN 0 450 05-08-2014 ساعت 12:01
آخرین ارسال: xMAN
Note جستجو در یک متن در سی شارپ arfanz 12 2,235 16-07-2014 ساعت 09:32
آخرین ارسال: Stack OverFlow

کاربرانِ درحال بازدید از این موضوع:   1 مهمان