سؤال

وأستخدمه Path.Combine، واحدة من سلاسل تحتوي على أحرف Unicode. أحصل {} System.ArgumentException استثناء؛ أحرف غير قانونية في المسار.

ووفقا لأسم دليل MSDN / اسم يمكن أن يكون حروف يونيكود. لماذا أحصل على هذا الاستثناء؟

وتحرير: هنا هو رمز:

وPath.Combine ( "C: \ الحركة الديمقراطية الشعبية \ الفضة"، "Amabel بندر QQQ")

هل كانت مفيدة؟

المحلول

وأنا أحسب المشكلة. تحتوي السلسلة الثانية شخصية "علامة التبويب" في ذلك يسبب الاستثناء. (التي لم ظهرت عندما لصق سلسلة هنا)

وشكرا للجميع وآسف للارتباك.

نصائح أخرى

التنصيص في لديك مجموعة من المسارات، منذ Path.InvalidPathChars يشمل-علامات اقتباس مزدوجة.

وهذا من شأنه أن يجعل الاستثناء الخاص لا علاقة لها حرف Unicode بك ...


ورأى فقط تحرير الخاص بك لسؤالك: VB، لا يقتبس

وهكذا قد يكون لديك شخصية غير قابل للطباعة نسخ في السلسلة الثانية، والذي يبدو وكأنه الفضاء، قبل الخاص سلسلة "QQQ" منتديات حاول أيضا إذا "Amabel BenderQQQ" أو العمل "AmabelBenderQQQ" (فقط لاختبار إذا ما تعلق منه حرف "QQQ" أو إلى الفضاء)

إذا كنت تستخدم C # ثم أنا متأكد من أنك بحاجة للهروب من العودة مائلة

Path.Combine("C:\\PDM\\Silver","Amabel Bender QQQ")

ولا ينطبق إذا كنت تستخدم VB على الرغم من ...

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top